文件最后提交记录最后更新时间
1 个月前
1 个月前
28 天前
2 个月前
2 个月前
1 个月前
4 个月前
2 个月前
README

Renorm

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:返回一个张量,其中输入张量self沿维度dim的每个子张量都经过归一化,使得子张量的p范数低于maxnorm值。

  • 计算公式:

    outputi={inputi,∣∣inputi∣∣p≤maxnorminputimax(∣∣inputi∣∣p,eps)⋅maxnorm,∣∣inputi∣∣p>maxnormoutput_i=\left\{ \begin{aligned} input_i,\quad ||input_i||_p ≤ maxnorm \\ \frac {input_i} {max(||input_i||_p, eps)} \cdot maxnorm,\quad ||input_i||_p > maxnorm \end{aligned} \right.

    其中: ii为dim确定的某维度张量切片:

    • 当p > 0时:

      ∣∣inputi∣∣p={reduce_sum(∣inputi∣p,dim)p,(p>0)&(p ≠inf)max(∣inputi∣),p=inf||input_i||_p =\left\{ \begin{aligned} \sqrt[p]{reduce\_sum(|input_i|^p, dim)},\quad (p > 0) \& (p \ ≠ inf) \\ max(|input_i|),\quad p = inf \end{aligned} \right.

    • 当p == 0时,∣∣inputi∣∣||input_i||为统计input中非0值:

      ∣∣inputi∣∣=∑i=1nI(inputi≠0)||input_i||={\sum_{i=1}^n {\mathbb{I}}}(input_i ≠ 0)

      其中,当inputi≠0input_i ≠ 0时,I=1{\mathbb{I}} = 1;当inputi=0input_i = 0时,I=0{\mathbb{I}} = 0

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 表示进行重归一化计算的输入,对应公式中的`input`。 FLOAT32、FLOAT16、BFLOAT16 ND
p 属性 表示范数,对应公式中的`p`。取值大于等于0。 FLOAT32 -
dim 属性 表示指定求norm的维度方向。对应公式中的`i`。取值范围为:[-x的维度数量,x的维度数量-1]。 INT64 -
maxnorm 属性 表示最大允许的归一化值。对应公式中的`maxnorm`。取值大于等于0。如果运算时对应维度的`p`范数(由`p`值确定)大于`maxnorm`,则将该维度的值关于`p`范数归一化并乘上`maxnorm`。如果运算时对应维度的`p`范数(由`p`值确定)小于`maxnorm`,则该维度张量保持不变输出。 FLOAT32 -
y 输出 表示最终输出,对应公式中的`output`。数据类型、shape与入参`x`保持一致。 FLOAT32、FLOAT16、BFLOAT16 ND

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_renorm 通过aclnnRenorm接口方式调用Renorm算子。
aclnn接口 test_aclnn_inplace_renorm 通过aclnnInplaceRenorm接口方式调用Renorm算子。
aclnn接口 test_aclnn_embedding_renorm 通过aclnnEmbeddingRenorm接口方式调用Renorm算子。