Shortcuts

torch.optim.Optimizer.zero_grad

Optimizer.zero_grad(set_to_none=True)[源代码]

重置所有优化的 torch.Tensor 的梯度。

Parameters

set_to_none (布尔值) – 不是设置为零,而是将梯度设置为None。 这通常会减少内存占用,并且可以适度提高性能。 然而,这会改变某些行为。例如: 1. 当用户尝试访问梯度并对其执行手动操作时, None属性或充满0的张量将表现出不同的行为。 2. 如果用户请求 zero_grad(set_to_none=True) 然后进行反向传播,.grad 对于没有接收到梯度的参数,保证为None。 3. torch.optim 优化器在梯度为0或None时有不同的行为 (在一种情况下,它使用梯度为0进行步骤,而在另一种情况下,它完全跳过步骤)。