快捷方式

torch.nn.utils.clip_grads_with_norm_

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

給定預先計算的總範數和期望的最大範數,縮放參數迭代器的梯度。

梯度將按以下計算進行縮放

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

梯度會被原地修改。

此函式等同於 torch.nn.utils.clip_grad_norm_(),但使用預先計算好的總範數。

參數
  • parameters (Iterable[Tensor] or Tensor) – 一個 Tensors 的可迭代物件或是一個單一 Tensor,其梯度將會被正規化。

  • max_norm (float) – 梯度的最大範數。

  • total_norm (Tensor) – 用於梯度裁剪的總範數。

  • foreach (bool) – 使用更快的基於 foreach 的實作。 如果 None,則對 CUDA 和 CPU 原生 tensors 使用 foreach 實作,並針對其他裝置類型默默地退回到較慢的實作。 預設值:None

返回值

None

返回值類型

None

文件

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources