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

Scale

产品支持情况

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

功能说明

  • 算子功能:对输入Tensor进行scale和bias计算。若不输入bias,则 y=x⋅scaley = x \cdot scale;若输入bias,则 y=x⋅scale+biasy = x \cdot scale + bias

  • 算子公式:

    若不输入bias,则

    yi=xi⋅scaleiy_i = x_i \cdot scale_i

    若输入bias,则

    yi=xi⋅scalei+biasiy_i = x_i \cdot scale_i + bias_i

    其中:

    • xix_i为输入Tensor;
    • scaleiscale_i为缩放因子Tensor,支持与x的broadcast;
    • biasibias_i为可选的偏置Tensor,shape与scale保持一致;
    • yiy_i为输出Tensor,shape与x一致。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 算子输入的Tensor。支持空Tensor。 FLOAT16, FLOAT32, BFLOAT16 ND
scale 输入 缩放因子Tensor。数据类型需与x一致,shape满足broadcast要求。 FLOAT16, FLOAT32, BFLOAT16 ND
bias 可选输入 偏置Tensor。不为空时数据类型需与scale一致,shape与scale保持一致。 FLOAT16, FLOAT32, BFLOAT16 ND
axis 属性 指定进行scale的起始轴。取值范围[-x_rank, x_rank)。 INT64 -
num_axes 属性 指定进行scale的轴长度。取值范围>=-1,-1表示从axis轴scale到最后一轴。 INT64 -
scale_from_blob 属性 True:使用numAxes + axis推导scale shape;False:从axis开始按scale的rank推导,忽略numAxes。 BOOL -
y 输出 输出Tensor。shape和数据类型与x一致。 FLOAT16, FLOAT32, BFLOAT16 ND

约束说明

  • x与y的shape必须完全一致。
  • x、scale、bias、y的dtype必须一致(均为FLOAT16/FLOAT32/BFLOAT16之一)。
  • bias不为空时,bias与scale的shape必须一致。
  • scale的shape需满足broadcast规则(参见功能说明)。
  • x和scale的shape维度不大于8。
  • axis取值范围为[-x_rank, x_rank)。
  • numAxes取值范围>=-1。
  • 仅支持ND格式。
  • 支持非连续的Tensor,非连续的Tensor维度不大于8。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_scale 通过aclnnScale接口方式调用Scale算子。