快捷方式

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)[源代码][源代码]

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

范数是根据所有参数的单独梯度的范数计算的,就像将单独梯度的范数连接成一个向量一样。梯度会在原地修改。

此函数等效于先调用 torch.nn.utils.get_total_norm(),然后使用 get_total_norm 返回的 total_norm 调用 torch.nn.utils.clip_grads_with_norm_()

参数
  • parameters (Iterable[Tensor] or Tensor) – 一个 Tensor 的可迭代对象或单个 Tensor,将对其梯度进行归一化

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

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

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

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

返回值

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

返回值类型

Tensor

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源