clip_by_norm
paddle.fluid.layers.
clip_by_norm
(x, max_norm, name=None)[源代码]
ClipByNorm算子
此算子将输入 X
的L2范数限制在 max_norm
内。如果 X
的L2范数小于或等于 max_norm
,则输出(Out)将与 X
相同。如果X的L2范数大于 max_norm
,则 X
将被线性缩放,使得输出(Out)的L2范数等于 max_norm
,如下面的公式所示:
其中,
代表 x
的L2范数。
- 参数:
- x (Variable)- 多维Tensor或LoDTensor,数据类型为float32。clip_by_norm运算的输入,维数必须在[1,9]之间。
- max_norm (float32)- 最大范数值。
- name (str,可选) – 具体用法请参见 Name ,一般无需设置,默认值为None。
返回: 表示为输出Tensor或LoDTensor,数据类型为float32。和输入(X)具有相同的形状.
返回类型:Variable
代码示例:
- import paddle.fluid as fluid
- input = fluid.data(
- name='data', shape=[None, 1], dtype='float32')
- reward = fluid.layers.clip_by_norm(x=input, max_norm=1.0)