megengine.optimizer.clip_grad_norm

clip_grad_norm(tensors, max_norm, ord=2.0)[源代码]

通过限制范数最大值裁剪梯度。该范数将在所有梯度上一起计算,就好像梯度被拼接成一个向量。梯度修改将原地进行。

参数
  • tensors (Union[Tensor, Iterable[Tensor]]) – an iterable of Tensors or a single Tensor that will have gradients normalized.

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

  • ord (float) – type of the used p-norm. Can be 'inf' for infinity norm. Default: 2.0

返回

Tensor of an iterable of Tensors. Total norm of the parameter gradients (viewed as a single vector).

返回类型

Return type

实际案例

>>> import megengine.optimizer as optim
>>> net = Net()                                                                 
>>> original_norm = optim.clip_grad_norm(net.parameters(), max_norm=1.0, ord=2)