pytorch进行CIFAR-10分类(3)定义损失函数和优化器

2019-05-25 22:33:29 浏览数 (1)

1.直接上代码

代码语言:javascript复制
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() 详情如下:

0 人点赞