`optimizer.zero_grad()` 的作用
时间: 2023-11-21 12:28:23 浏览: 79
PyTorch上搭建简单神经网络实现回归和分类的示例.pdf
在使用 PyTorch 进行模型训练时,我们通常需要对模型的参数进行优化。在每次参数更新前,我们需要将之前的梯度清零,否则梯度会累加到之前的梯度上,导致参数更新出现错误。
`optimizer.zero_grad()` 就是用来将模型参数的梯度清零的函数。在训练过程中,我们通常会在每个 batch 的开始处调用 `optimizer.zero_grad()` 来清空梯度,然后进行前向传播、反向传播和参数更新等操作。这样可以确保每个 batch 的梯度都是独立的,不受之前 batch 的影响。
阅读全文