GroupNormalization¶
GroupNormalization - 21¶
版本¶
域:
mainsince_version:
21函数:
True支持级别:
SupportType.COMMON形状推断:
False
此版本的操作符自 版本 21 起可用。
摘要¶
一个 GroupNormalization 函数。执行论文 https://arxiv.org/abs/1803.08494 中描述的组归一化。
该运算符根据以下方式转换输入
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
其中,均值和方差是按实例、按通道组计算的,scale 和 bias 应为每个通道指定。组的数量 num_groups 应能被通道数整除,以便每组通道数量相等。
整个计算分两个阶段:第一阶段将每个实例在每个组中的元素归一化为零均值和单位方差,第二阶段对第一阶段的结果进行缩放和平移。第一阶段使用的浮点精度由 stash_type 属性决定。例如,如果 stash_type 为 1,则运算符将所有输入变量转换为 32 位浮点数,执行计算,最后将归一化结果转换回 X 的原始类型。第二阶段不依赖于 stash_type。
当组数与通道数相同时,此运算符等同于 InstanceNormalization。当只有一个组时,此运算符等同于 LayerNormalization。
属性¶
epsilon - FLOAT (默认为
'1e-05')用于避免除以零的 epsilon 值。
num_groups - INT (必需)
通道组的数量。它应该是通道数
C的一个除数。stash_type - INT (默认为
'1')计算第一阶段使用的浮点精度。
输入¶
X (异构) - T
输入数据张量。图像情况的维度为
(N x C x H x W),其中N是批大小,C是通道数,H和W是数据的高度和宽度。统计数据是针对每个通道组在C、H和W上计算的。对于非图像情况,维度形式为(N x C x D1 x D2 ... Dn)。scale (异构) - T
形状为
(C)的缩放张量。bias (异构) - T
形状为
(C)的偏置张量。
输出¶
Y (异构) - T
与
X形状相同的输出张量。
类型约束¶
T 在 (
tensor(bfloat16),tensor(double),tensor(float),tensor(float16)) 中将输入和输出类型限制为浮点张量。
GroupNormalization - 18¶
版本¶
域:
main起始版本:
18函数:
True支持级别:
SupportType.COMMON形状推断:
False
此版本的运算符已弃用 自版本 18 起。
摘要¶
一个 GroupNormalization 函数。执行论文 https://arxiv.org/abs/1803.08494 中描述的组归一化。
该运算符根据以下方式转换输入
y = scale * (x - mean) / sqrt(variance + epsilon) + bias,
其中,均值和方差是按实例、按通道组计算的,scale 和 bias 应为每个通道组指定。组的数量 num_groups 应能被通道数整除,以便每组通道数量相等。
当组数与通道数相同时,此运算符等同于 InstanceNormalization。当只有一个组时,此运算符等同于 LayerNormalization。
属性¶
epsilon - FLOAT (默认为
'1e-05')用于避免除以零的 epsilon 值。
num_groups - INT (必需)
通道组的数量。它应该是通道数
C的一个除数。
输入¶
X (异构) - T
输入数据张量。图像情况的维度为
(N x C x H x W),其中N是批大小,C是通道数,H和W是数据的高度和宽度。统计数据是针对每个通道组在C、H和W上计算的。对于非图像情况,维度形式为(N x C x D1 x D2 ... Dn)。scale (异构) - T
形状为
(num_groups)的缩放张量。bias (异构) - T
形状为
(num_groups)的偏置张量。
输出¶
Y (异构) - T
与
X形状相同的输出张量。
类型约束¶
T 在 (
tensor(bfloat16),tensor(double),tensor(float),tensor(float16)) 中将输入和输出类型限制为浮点张量。