在PyTorch中,要更新模型的參數,通常會使用優化器(Optimizer)來幫助模型更新參數。以下是一個基本的更新模型參數的步驟:
import torch
import torch.nn as nn
# 定義模型
model = nn.Linear(in_features=10, out_features=1)
# 定義損失函數
criterion = nn.MSELoss()
import torch.optim as optim
# 定義優化器,如SGD、Adam等
optimizer = optim.SGD(model.parameters(), lr=0.01)
# 假設有輸入數據 x 和目標值 y
x = torch.randn(5, 10)
y = torch.randn(5, 1)
# 將模型設為訓練模式
model.train()
# 計算模型輸出
output = model(x)
# 計算損失
loss = criterion(output, y)
# 清空之前的梯度
optimizer.zero_grad()
# 反向傳播計算梯度
loss.backward()
# 更新參數
optimizer.step()
通過以上步驟,模型的參數會根據損失函數的梯度更新,從而逐步優化模型的性能。