Advertisement

优化器和 optimizer

阅读量:

1.首先需要说明的第一个关键操作是 zero_grad() 的梯度重置功能。

在每次完成梯度的计算过程后,优化器内部所累积的梯度信息并不会自动归零,因此必须通过调用特定函数来实现对梯度的清空操作。具体示例如下:

复制代码
>       1. for i, data in enumerate(dataLoader):

>  
>       2.     # 获取图片和标签
>  
>       3.     inputs, labels = data
>  
>       4.     inputs, labels = Variable(inputs), Variable(labels)
>  
>       5.  
>  
>       6.     optimizer.zero_grad() #优化器梯度清零
>  
>       7.  
>  
>       8.     outputs = net(inputs)
>  
>       9.     loss = criterion(outputs, labels) #计算损失函数
>  
>       10.     loss.backward()  损失函数回传/参数更新
>  
>       11.     optimizer.step() 优化器更

全部评论 (0)

还没有任何评论哟~