PyTorch中的model.zero_grad()和optimizer.zero_grad()

 参考   PyTorch中的model.zero_grad()和optimizer.zero_grad() - 云+社区 - 腾讯云

参考  optimizer.zero_grad() - 云+社区 - 腾讯云

model.zero_grad()
optimizer.zero_grad()

首先,这两种方式都是把模型中参数的梯度设为0

当optimizer = optim.Optimizer(net.parameters())时,二者等效,其中Optimizer可以是Adam、SGD等优化器

def zero_grad(self):
        """Sets gradients of all model parameters to zero."""
        for p in self.parameters():
            if p.grad is not None:
                p.grad.data.zero_()

你可能感兴趣的:(Pytorch,计算机视觉,深度学习,机器学习)