Conv

Conv - 22

版本

  • 名称: Conv (GitHub)

  • : main

  • 起始版本: 22

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本自 版本 22 起可用。

摘要

卷积运算符接收输入张量和滤波器,并计算输出。

属性

  • auto_pad - 字符串 (默认值为 'NOTSET')

    auto_pad 必须是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。默认值为 NOTSET,表示使用显式填充。SAME_UPPER 或 SAME_LOWER 表示对输入进行填充,以便对于每个轴 ioutput_shape[i] = ceil(input_shape[i] / strides[i])。填充会在两侧平均或几乎平均分配(取决于它是偶数还是奇数)。如果填充为奇数,对于 SAME_UPPER,额外的填充会添加到末尾;对于 SAME_LOWER,则添加到开头。

  • dilations - 整型列表 :

    滤波器沿每个空间轴的膨胀值。如果不存在,膨胀默认沿每个空间轴为 1。

  • group - 整型 (默认值为 '1')

    输入通道和输出通道被分成的组数。

  • kernel_shape - 整型列表 :

    卷积核的形状。如果不存在,应从输入 W 推断。

  • pads - 整型列表 :

    沿每个空间轴开头和结尾的填充,它可以取任何大于或等于 0 的值。该值表示添加到对应轴开头和结尾部分的像素数量。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是添加到轴 i 开头的像素数量,xi_end 是添加到轴 i 末尾的像素数量。此属性不能与 auto_pad 属性同时使用。如果不存在,填充默认沿每个空间轴的开头和结尾为 0。

  • strides - 整型列表 :

    沿每个空间轴的步幅。如果不存在,步幅默认沿每个空间轴为 1。

输入

2 到 3 个输入。

  • X (异构) - T

    来自前一层的输入数据张量;大小为 (N x C x H x W),其中 N 是批量大小,C 是通道数,H 和 W 是高度和宽度。请注意,这是针对 2D 图像的。否则,大小为 (N x C x D1 x D2 … x Dn)。可选地,如果维度表示法生效,此操作预期输入数据张量的维度表示法为 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …]。

  • W (异构) - T

    用于卷积的权重张量;大小为 (M x C/group x kH x kW),其中 C 是通道数,kH 和 kW 是核的高度和宽度,M 是特征图的数量。对于超过 2 个维度,核形状将为 (M x C/group x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核的维度。可选地,如果维度表示法生效,此操作预期权重张量的维度表示法为 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL …]。假设形状数组使用零基索引,则 X.shape[1] == (W.shape[1] * group) == C 且 W.shape[0] mod G == 0。换句话说,FILTER_IN_CHANNEL 乘以组数应等于 DATA_CHANNEL,且特征图数量 M 应是组数 G 的倍数。

  • B (可选,异构) - T

    可选的 1D 偏置,将添加到卷积中,大小为 M。

输出

  • Y (异构) - T

    包含卷积结果的输出数据张量。输出维度是核大小、步幅大小和填充长度的函数。

类型约束

  • T 属于 ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型限制为浮点张量。

Conv - 11

版本

  • 名称: Conv (GitHub)

  • : main

  • 起始版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本自 版本 11 起可用。

摘要

卷积运算符接收输入张量和滤波器,并计算输出。

属性

  • auto_pad - 字符串 (默认值为 'NOTSET')

    auto_pad 必须是 NOTSET、SAME_UPPER、SAME_LOWER 或 VALID。默认值为 NOTSET,表示使用显式填充。SAME_UPPER 或 SAME_LOWER 表示对输入进行填充,以便对于每个轴 ioutput_shape[i] = ceil(input_shape[i] / strides[i])。填充会在两侧平均或几乎平均分配(取决于它是偶数还是奇数)。如果填充为奇数,对于 SAME_UPPER,额外的填充会添加到末尾;对于 SAME_LOWER,则添加到开头。

  • dilations - 整型列表 :

    滤波器沿每个空间轴的膨胀值。如果不存在,膨胀默认沿每个空间轴为 1。

  • group - 整型 (默认值为 '1')

    输入通道和输出通道被分成的组数。

  • kernel_shape - 整型列表 :

    卷积核的形状。如果不存在,应从输入 W 推断。

  • pads - 整型列表 :

    沿每个空间轴开头和结尾的填充,它可以取任何大于或等于 0 的值。该值表示添加到对应轴开头和结尾部分的像素数量。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是添加到轴 i 开头的像素数量,xi_end 是添加到轴 i 末尾的像素数量。此属性不能与 auto_pad 属性同时使用。如果不存在,填充默认沿每个空间轴的开头和结尾为 0。

  • strides - 整型列表 :

    沿每个空间轴的步幅。如果不存在,步幅默认沿每个空间轴为 1。

输入

2 到 3 个输入。

  • X (异构) - T

    来自前一层的输入数据张量;大小为 (N x C x H x W),其中 N 是批量大小,C 是通道数,H 和 W 是高度和宽度。请注意,这是针对 2D 图像的。否则,大小为 (N x C x D1 x D2 … x Dn)。可选地,如果维度表示法生效,此操作预期输入数据张量的维度表示法为 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …]。

  • W (异构) - T

    用于卷积的权重张量;大小为 (M x C/group x kH x kW),其中 C 是通道数,kH 和 kW 是核的高度和宽度,M 是特征图的数量。对于超过 2 个维度,核形状将为 (M x C/group x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核的维度。可选地,如果维度表示法生效,此操作预期权重张量的维度表示法为 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL …]。假设形状数组使用零基索引,则 X.shape[1] == (W.shape[1] * group) == C 且 W.shape[0] mod G == 0。换句话说,FILTER_IN_CHANNEL 乘以组数应等于 DATA_CHANNEL,且特征图数量 M 应是组数 G 的倍数。

  • B (可选,异构) - T

    可选的 1D 偏置,将添加到卷积中,大小为 M。

输出

  • Y (异构) - T

    包含卷积结果的输出数据张量。输出维度是核大小、步幅大小和填充长度的函数。

类型约束

  • T 属于 ( tensor(double), tensor(float), tensor(float16), tensor(float16) )

    将输入和输出类型限制为浮点张量。

Conv - 1

版本

  • 名称: Conv (GitHub)

  • : main

  • 起始版本: 1

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此运算符版本自 版本 1 起可用。

摘要

卷积运算符接收输入张量和滤波器,并计算输出。

属性

  • auto_pad - 字符串 (默认值为 'NOTSET')

    auto_pad 必须是 NOTSET, SAME_UPPER, SAME_LOWER 或 VALID。默认值为 NOTSET,表示使用显式填充。SAME_UPPER 或 SAME_LOWER 表示对输入进行填充,以便输出空间大小与 输入匹配。如果是奇数,对于 SAME_UPPER,额外的填充会添加到末尾;对于 SAME_LOWER,则添加到开头。VALID 表示无填充。

  • dilations - 整型列表 :

    滤波器沿每个空间轴的膨胀值。

  • group - 整型 (默认值为 '1')

    输入通道和输出通道被分成的组数。

  • kernel_shape - 整型列表 :

    卷积核的形状。如果不存在,应从输入 W 推断。

  • pads - 整型列表 :

    沿每个空间轴开头和结尾的填充,它可以取任何大于或等于 0 的值。该值表示添加到对应轴开头和结尾部分的像素数量。pads 格式应如下所示 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是添加到轴 i 开头的像素数量,xi_end 是添加到轴 i 末尾的像素数量。此属性不能与 auto_pad 属性同时使用。如果不存在,填充默认沿每个空间轴的开头和结尾为 0。

  • strides - 整型列表 :

    沿每个空间轴的步幅。

输入

2 到 3 个输入。

  • X (异构) - T

    来自前一层的输入数据张量;大小为 (N x C x H x W),其中 N 是批量大小,C 是通道数,H 和 W 是高度和宽度。请注意,这是针对 2D 图像的。否则,大小为 (N x C x D1 x D2 … x Dn)。可选地,如果维度表示法生效,此操作预期输入数据张量的维度表示法为 [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE …]。

  • W (异构) - T

    用于卷积的权重张量;大小为 (M x C/group x kH x kW),其中 C 是通道数,kH 和 kW 是核的高度和宽度,M 是特征图的数量。对于超过 2 个维度,核形状将为 (M x C/group x k1 x k2 x … x kn),其中 (k1 x k2 x … kn) 是核的维度。可选地,如果维度表示法生效,此操作预期权重张量的维度表示法为 [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL …]。假设形状数组使用零基索引,则 X.shape[1] == (W.shape[1] * group) == C。换句话说,FILTER_IN_CHANNEL 应等于 DATA_CHANNEL。

  • B (可选,异构) - T

    可选的 1D 偏置,将添加到卷积中,大小为 M。

输出

  • Y (异构) - T

    包含卷积结果的输出数据张量。输出维度是核大小、步幅大小和填充长度的函数。

类型约束

  • T 属于 ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型限制为浮点张量。