1、optim的使用步骤:
(1)构造优化器
(2)调用step方法
利用得到的梯度来对参数进行更新
loss_cross=CrossEntropyLoss() #损失
cifar=CIFAR10_modle() #创建神经网络
'''1、创建优化器'''
optim=torch.optim.SGD(cifar.parameters(),lr=0.01) #放入参数:模型的参数;学习率
'''可以进行多点的循环,一次循环的话变化不是很大'''
for epoch in range(20):
for data in dataloader: #这个只进行了一轮的学习,所以变换不大
imgs,targets=data
outputs=cifar(imgs)
'''2、求误差'''
loss=loss_cross(outputs,targets) #神经网络的输出和真实图像的误差
'''3、梯度清零'''
optim.zero_grad()
'''4、反向传播求梯度'''
loss.backward()
'''5、调用优化器的step()对每一个参数调优,最终使loss尽可能地减小'''
optim.step()
print(loss)
标签:loss,20,optim,cifar,step,优化 From: https://www.cnblogs.com/ar-boke/p/17151136.html