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

ReduceStdV2

产品支持情况

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

功能说明

  • 算子功能:计算指定维度(dim)的标准差和均值,这个dim可以是单个维度、维度列表或者None。

  • 计算公式: 假设 dim 为 ii,则对该维度进行计算。NN为该维度的 shape。取 xix_{i},求出该维度上的平均值 xiˉ\bar{x_{i}}

    std=1max(0,N−δN)∑j=0N−1(xij−xiˉ)2std = \sqrt{\frac{1}{max(0, N - \delta N)}\sum_{j=0}^{N-1}(x_{ij}-\bar{x_{i}})^2}

    keepdim = true时,reduce 后保留该维度,且输出 shape 中该维度值为 1;当 keepdim = false时,不保留。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 待进行ReduceStdV2计算的输入Tensor,公式中的x。 FLOAT、FLOAT16、BFLOAT16 ND
dim 属性 参与Reduce计算的维度,公式中的i。默认值为空列表,表示对所有维度做Reduce。 LIST_INT -
correction 属性 修正值,公式中的delta。 INT64 -
keepdim 属性 是否在输出张量中保留输入张量的维度。 BOOL -
is_mean_out 属性 是否输出均值。true表示输出mean,false表示不输出mean。 BOOL -
std 输出 ReduceStdV2计算的标准差出参,公式中的std。 FLOAT、FLOAT16、BFLOAT16 ND
mean 输出 ReduceStdV2计算的均值出参,公式中的平均值。 FLOAT、FLOAT16、BFLOAT16 ND
  • Atlas 训练系列产品、Atlas 推理系列产品: 不支持BFLOAT16。

约束说明

  • dim中的每个维度值必须在[-rank(x), rank(x))范围内,支持负数维度;同一维度归一化后不能重复。
  • dim为空列表时,对x的所有维度进行Reduce。
  • stdmean的shape由dimkeepdim推导:keepdim = true时保留被Reduce维度且维度值为1,keepdim = false时删除被Reduce维度。
  • aclnnStd接口中out的shape必须与dimkeepdim推导结果一致。
  • aclnnStd接口中xout的数据类型均需在支持列表内,且x的数据类型需支持转换为out的数据类型;ReduceStdV2图算子的stdmeanx支持相同的数据类型范围。
  • 空Tensor场景返回NaN;当被Reduce维度的元素数shapeProd为1且shapeProd <= correction时返回NaN;当correction > 1shapeProd <= correction时返回Inf。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_std.cpp 通过aclnnStd接口方式调用ReduceStdV2算子。