快捷方式

torch.nn.utils.clip_grads_with_norm_

torch.nn.utils.clip_grads_with_norm_(parameters, max_norm, total_norm, foreach=None)[source]

根据预先计算的总范数和期望的最大范数,缩放参数迭代器的梯度。

梯度将根据以下公式进行缩放

grad=gradmax_normtotal_norm+1e6grad = grad * \frac{max\_norm}{total\_norm + 1e-6}

梯度会被原地修改。

此函数等同于使用预先计算的总范数的 torch.nn.utils.clip_grad_norm_()

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

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

  • total_norm (Tensor) – 用于裁剪的梯度总范数

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

返回

None

返回类型

None

文档

查阅 PyTorch 全面的开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得解答

查看资源