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

GroupNorm

产品支持情况

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

功能说明

  • 算子功能:GroupNorm将输入x的通道轴划分为num_groups组,对每个样本、每个组独立计算总体均值和总体方差。

  • 计算公式:

    y=x−meanvariance+eps×gamma+betay = \frac{x - mean}{\sqrt{variance + eps}} \times gamma + beta

    输出meanvariance的shape均为(N, num_groups)data_formatis_training仅用于兼容既有GEIR接口,不参与Kernel计算。

参数说明

以下参数说明适用于GE图模式,aclnn API参数说明请参见aclnnGroupNorm.md

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 公式中的输入x,shape至少为2维,按(N, C, *)解释。 FLOAT16、FLOAT ND
gamma 输入 公式中的gamma,为长度为C的一维Tensor,类型与x相同。 FLOAT16、FLOAT ND
beta 输入 公式中的beta,为长度为C的一维Tensor,类型与x相同。 FLOAT16、FLOAT ND
num_groups 必选属性 通道分组数,取值为正整数,且C必须能被其整除。 INT -
data_format 可选属性 输入数据格式,默认值为NCHW,当前仅用于接口兼容。 STRING -
eps 可选属性 添加到方差上的数值稳定项,默认值为0.0001 FLOAT -
is_training 可选属性 是否为训练模式,默认值为true,当前仅用于接口兼容。 BOOL -
y 输出 公式中的输出y,shape和数据类型均与x相同。 FLOAT16、FLOAT ND
mean 输出 每组均值,shape为(N, num_groups) FLOAT16、FLOAT ND
variance 输出 每组总体方差,shape为(N, num_groups) FLOAT16、FLOAT ND

约束说明

  • GE图模式下,所有输入和输出的数据类型必须一致。
  • Ascend 950的GE图模式要求C大于0;当N=0时三个输出均为空且不下发Kernel。
  • Ascend 950的GE图模式在N大于0时不支持包含零维的空Tensor,Host校验失败后不下发Kernel。

调用说明

调用方式 调用样例 说明
GE图模式 test_geir_group_norm.cpp 通过GroupNorm IR构图调用。
aclnn API test_aclnn_GroupNorm.cpp 通过aclnnGroupNorm接口调用。