当前位置:
首页 >
Pytorch 为什么每一轮batch需要设置optimizer.zero_grad
发布时间:2024/7/23
62
豆豆
生活随笔
收集整理的这篇文章主要介绍了
Pytorch 为什么每一轮batch需要设置optimizer.zero_grad
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
根据pytorch中的backward()函数的计算,当网络参量进行反馈时,梯度是被积累的而不是被替换掉;但是在每一个batch时毫无疑问并不需要将两个batch的梯度混合起来累积,因此这里就需要每个batch设置一遍zero_grad 了。
其实这里还可以补充的一点是,如果不是每一个batch就清除掉原有的梯度,而是比如说两个batch再清除掉梯度,这是一种变相提高batch_size的方法,对于计算机硬件不行,但是batch_size可能需要设高的领域比较适合,比如目标检测模型的训练。
总结
以上是生活随笔为你收集整理的Pytorch 为什么每一轮batch需要设置optimizer.zero_grad的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: OpenCV学习笔记(十五):图像仿射变
- 下一篇: 器件篇:步进电机