torch.optim中实现了深度学习中绝大多数的优化方法,例如RMSProp、Adam、SGD等,更便于使用,因此通常不手动调整
import torch.optim as optim
#新建一个优化器,指定要调整的参数和学习率
optimizer=optim.SGD(net.parameters(),lr=0.01)
#在训练过程中
#先梯度清零(与net.zero_grad()效果一样)
optimizer.zero_grad()
#计算损失
output=net(input)
loss=criterion(output,target)
#反向传播
loss.backward()
#更新参数
optimizer.step()