renorm¶
此操作用于沿指定轴计算 p 范数(p-norm),假设指定轴维度的形状值为 T,则将张量分为 T 个部分,每个部分都计算 p 范数。如果第 i 部分的 p-norm 大于 max-norm,则第 i 部分中的每个元素应以相同的比例重新归一化,以使第 i 部分的 p-norm 完全等于 max-norm;否则,第 i 部分保持不变。
参数¶
x (Tensor) - 输入张量
p (float) - 范数运算的幂。
axis (int) - 对张量进行切片的维度。
max-norm (float) - 最大范数限制。
返回¶
Tensor
,经过 renorm 处理的张量。
代码示例¶
>>> import paddle
>>> input = [[[2.0, 2, -2], [3, 0.3, 3]],
... [[2, -8, 2], [3.1, 3.7, 3]]]
>>> x = paddle.to_tensor(input,dtype='float32')
>>> y = paddle.renorm(x, 1.0, 2, 2.05)
>>> print(y)
Tensor(shape=[2, 2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[ 0.40594056, 0.29285714, -0.41000000],
[ 0.60891086, 0.04392857, 0.61500001]],
[[ 0.40594056, -1.17142856, 0.41000000],
[ 0.62920785, 0.54178572, 0.61500001]]])