1.直接上代码
import torch.optim as optim #导入torch.potim模块
criterion = nn.CrossEntropyLoss() #同样是用到了神经网络工具箱 nn 中的交叉熵损失函数
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9) #optim模块中的SGD梯度优化方式---随机梯度下降
2.涉及知识点
①优化器pytorch将深度学习中常用的优化方法全部封装在torch.optim之中,所有的优化方法都是继承基类optim.Optimizier
图中提到了如果想要把模型搬到GPU上跑,就要在定义优化器之前就完成.cuda( )这一步
2.损失函数损失函数是封装在神经网络工具箱nn中的,包含很多损失函数,如图所示;
此例中用到的是交叉熵损失,criterion = nn.CrossEntropyLoss() 详情如下:
基本上这一步没什么好说的,就是在众多的优化器方法和损失函数中选择就ok,具体选什么就由自己情况定
|