clip_grad_value_

paddle.nn.utils. clip_grad_value_ ( parameters, clip_value ) [源代码]

对传入所有带有梯度的参数进行指定值范围内的梯度裁剪。

这个 API 只能在动态图上使用,暂时不支持静态图模式。

参数

  • parameters (Iterable[paddle.Tensor] or paddle.Tensor) - 需要参与梯度裁剪的一个 Tensor 或者多个 Tensor。

  • clip_value (float or int) - 指定值(非负数)。

返回

代码示例

>>> import paddle
>>> x = paddle.uniform([10, 10], min=-10.0, max=10.0, dtype='float32')
>>> clip_value = float(5.0)
>>> linear = paddle.nn.Linear(in_features=10, out_features=10)
>>> out = linear(x)
>>> loss = paddle.mean(out)
>>> loss.backward()
>>> paddle.nn.utils.clip_grad_value_(linear.parameters(), clip_value)
>>> sdg = paddle.optimizer.SGD(learning_rate=0.1, parameters=linear.parameters())
>>> sdg.step()