快捷方式

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 全面的開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得解答

檢視資源