要指定優化算法和超參數來訓練Torch模型,可以通過定義一個優化器對象和設置相應的超參數來實現。
首先,需要選擇一個優化算法,比如常用的SGD、Adam、RMSprop等。然后,可以使用torch.optim模塊中的相應類來創建一個優化器對象,如下所示:
import torch.optim as optim
optimizer = optim.SGD(model.parameters(), lr=0.01) # 使用SGD優化算法,學習率為0.01
接著,可以設置一些超參數,比如學習率、動量、權重衰減等,這些超參數可以在創建優化器對象時進行設置,也可以在訓練過程中動態調整,如下所示:
optimizer = optim.Adam(model.parameters(), lr=0.001, weight_decay=0.0001) # 使用Adam優化算法,學習率為0.001,權重衰減為0.0001
最后,在訓練模型的循環中使用這個優化器對象來更新模型參數,如下所示:
optimizer.zero_grad() # 梯度清零
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward() # 反向傳播
optimizer.step() # 更新參數
通過以上步驟,就可以指定優化算法和超參數來訓練Torch模型。在訓練過程中,可以根據實際情況調整超參數,以獲得更好的模型性能。