Shortcuts

torch.nn.utils.clip_grad_norm_

torch.nn.utils.clip_grad_norm_(parameters, max_norm, norm_type=2.0, error_if_nonfinite=False, foreach=None)[源代码]

裁剪可迭代参数的梯度范数。

范数是针对所有梯度一起计算的,就好像它们被连接成一个单一的向量一样。梯度是就地修改的。

Parameters
  • 参数 (可迭代[Tensor] 或 Tensor) – 一个包含Tensor的可迭代对象或单个Tensor,其梯度将被归一化

  • max_norm (浮点数) – 梯度的最大范数

  • norm_type (float) – 使用的p-范数的类型。可以是 'inf' 表示无穷范数。

  • error_if_nonfinite (bool) – 如果为True,如果来自parameters的梯度的总范数为naninf-inf,则会抛出错误。默认值:False(未来将切换为True)

  • foreach (bool) – 使用基于foreach的更快的实现。 如果 None,对CUDA和CPU原生张量使用foreach实现,并静默地回退到其他设备类型的慢速实现。 默认值:None

Returns

参数梯度的总范数(视为单个向量)。

Return type

张量

优云智算