DeformConv¶
DeformConv - 22¶
版本¶
域:
main
自版本:
22
功能:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自版本 22起可用。
摘要¶
执行可变形卷积,如 https://arxiv.org/abs/1703.06211 和 https://arxiv.org/abs/1811.11168 中所述。此运算符规范支持一般的 N 维情况。请注意,大多数常见用例具有 2D 或 3D 数据。
属性¶
dilations - INTS :
内核沿每个空间轴的膨胀值。默认情况下,每个轴为 1。
group - INT(默认值为
'1'
)输入和输出通道 C 和 oC 分成的组数。C 和 oC 都必须能被 group 整除。默认为 1。
kernel_shape - INTS :
卷积核的形状。如果不存在,则从输入 W 的形状中推断。
offset_group - INT(默认值为
'1'
)偏移组数。C 必须能被 offset_group 整除。默认为 1。
pads - INTS :
沿每个空间轴的开头和结尾的填充。这些值表示添加到相应轴的开头和结尾的像素数,可以取任何非负值。格式应如下所示:[x1_begin, x2_begin, …, x1_end, x2_end, …],其中 xi_begin 是添加到轴
i
开头的像素数,xi_end 是添加到轴i
结尾的像素数。默认情况下,每个轴为 0。strides - INTS :
沿每个空间轴的步长。默认情况下,每个轴为 1。
输入¶
3 到 5 个输入。
X (异构) - T
输入数据张量。对于 2D 图像数据,其形状为 (N, C, H, W),其中 N 是批次大小,C 是输入通道数,H 和 W 是高度和宽度。一般来说,对于 n 维数据,形状为 (N, C, D1, D2, … , Dn),其中 D1 到 Dn 是空间维度大小。最常见的用例是 n = 2 或 3。
W (异构) - T
将在卷积中使用的权重张量。其形状为 (oC, C/group, kH, kW),其中 oC 是输出通道数,kH 和 kW 是内核高度和宽度。对于超过 2 维的情况,其形状为 (oC, C/group, k1, k2, … , kn)。
offset (异构) - T
偏移张量,表示卷积核中采样位置的偏移量。对于 2D 数据,其形状为 (N, offset_group * kH * kW * 2, oH, oW),对于 nD 数据,其形状为 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。使用线性插值来获取小数偏移值。超出填充输入张量的采样位置给出零。
B (可选,异构) - T
可选的长度为 oC 的 1D 偏差,将添加到卷积中。默认为零张量。
mask (可选,异构) - T
要应用于卷积核中每个位置的掩码张量。对于 2D 数据,其形状为 (N, offset_group * kH * kW, oH, oW),对于 nD 数据,其形状为 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。默认为一个张量。
输出¶
Y (异构) - T
包含卷积结果的输出数据张量。对于 2D 数据,其形状为 (N, oC, oH, oW),对于 nD 数据,其形状为 (N, oC, o1, o2, …, on)
类型约束¶
T in (
tensor(bfloat16)
,tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型约束为浮点张量。
DeformConv - 19¶
版本¶
域:
main
自版本:
19
功能:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自版本 19起可用。
摘要¶
执行可变形卷积,如 https://arxiv.org/abs/1703.06211 和 https://arxiv.org/abs/1811.11168 中所述。此运算符规范支持一般的 N 维情况。请注意,大多数常见用例具有 2D 或 3D 数据。
属性¶
dilations - INTS :
内核沿每个空间轴的膨胀值。默认情况下,每个轴为 1。
group - INT(默认值为
'1'
)输入和输出通道 C 和 oC 分成的组数。C 和 oC 都必须能被 group 整除。默认为 1。
kernel_shape - INTS :
卷积核的形状。如果不存在,则从输入 W 的形状中推断。
offset_group - INT(默认值为
'1'
)偏移组数。C 必须能被 offset_group 整除。默认为 1。
pads - INTS :
沿每个空间轴的开头和结尾的填充。这些值表示添加到相应轴的开头和结尾的像素数,可以取任何非负值。格式应如下所示:[x1_begin, x2_begin, …, x1_end, x2_end, …],其中 xi_begin 是添加到轴
i
开头的像素数,xi_end 是添加到轴i
结尾的像素数。默认情况下,每个轴为 0。strides - INTS :
沿每个空间轴的步长。默认情况下,每个轴为 1。
输入¶
3 到 5 个输入。
X (异构) - T
输入数据张量。对于 2D 图像数据,其形状为 (N, C, H, W),其中 N 是批次大小,C 是输入通道数,H 和 W 是高度和宽度。一般来说,对于 n 维数据,形状为 (N, C, D1, D2, … , Dn),其中 D1 到 Dn 是空间维度大小。最常见的用例是 n = 2 或 3。
W (异构) - T
将在卷积中使用的权重张量。其形状为 (oC, C/group, kH, kW),其中 oC 是输出通道数,kH 和 kW 是内核高度和宽度。对于超过 2 维的情况,其形状为 (oC, C/group, k1, k2, … , kn)。
offset (异构) - T
偏移张量,表示卷积核中采样位置的偏移量。对于 2D 数据,其形状为 (N, offset_group * kH * kW * 2, oH, oW),对于 nD 数据,其形状为 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。使用线性插值来获取小数偏移值。超出填充输入张量的采样位置给出零。
B (可选,异构) - T
可选的长度为 oC 的 1D 偏差,将添加到卷积中。默认为零张量。
mask (可选,异构) - T
要应用于卷积核中每个位置的掩码张量。对于 2D 数据,其形状为 (N, offset_group * kH * kW, oH, oW),对于 nD 数据,其形状为 (N, offset_group * k1 * k2 * … * kn * n, o1, o2, … , on)。默认为一个张量。
输出¶
Y (异构) - T
包含卷积结果的输出数据张量。对于 2D 数据,其形状为 (N, oC, oH, oW),对于 nD 数据,其形状为 (N, oC, o1, o2, …, on)
类型约束¶
T in (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型约束为浮点张量。