昇腾社区首页
中文
注册

Conv

功能

卷积,使用一个输入张量和一个滤波器,并且计算输出。

输入

  • X:来自上一层的输入四维或五维Tensor。输入为四维时,数据类型支持float16、float;输入为五维时,数据类型支持float16。
  • W:权重Tensor,对于二维卷积其shape为[C, M/group, kH, kW],其中C是通道数,kH和kW是内核的高度和宽度,M是特征图的数量。对于超过2个维度权重shape为[C, M/group, kD, kH kW]。输出中的通道数应等于 W.shape[1] * group(假设形状数组的索引从零开始),数据类型支持float16。
  • B(可选):输入一维Tensor,shape为[M],数据类型支持float16。

属性

  • auto_pad(可选):X为NCHW时支持NOTSET、SAME_UPPER、SAME_LOWER和VALID属性;X为NCDHW时仅支持NOTSET和VALID属性。其中默认值为NOTSET,表示使用显式填充。SAME_UPPER或SAME_LOWER表示填充输入,以便对于每个轴 。填充在两侧之间相等或几乎相等地分配(取决于它是偶数还是奇数)。如果填充是奇数,则在SAME_UPPER的末尾添加额外的填充,在SAME_LOWER的开头添加额外的填充。
  • dilations:输入四维Tensor时为2个整数的列表,五维Tensor时为5个整数的列表。指定用于扩张卷积的扩张率,H和W维度取值范围为[1, 255]。如果不存在,则沿每个空间轴的dilation默认为 1。
  • group:数据类型为int32,必须设置为1,从输入通道到输出通道的阻塞连接数,输入通道和输出通道都必须被group整除。
  • pads:输入四维Tensor时为4个整数的列表,五维Tensor时为6个整数的列表。指定顶部、底部、左侧和右侧填充,取值范围为[0, 255]。
  • strides:输入四维Tensor时为4个整数的列表,五维Tensor时为5个整数的列表。指定沿高度H和宽度W的卷积步长。H和W维度取值范围为[1, 63],默认情况下,N和C尺寸设置为1。

输出

Y:卷积结果的输出数据Tensor,输出维度是内核大小、步幅大小和pad长度的函数。

约束

  • X,W维度取值范围为[1, 4096]。
  • W,H维度和W维度取值范围为[1, 255]。
  • 不支持atc工具--precision_mode=must_keep_origin_dtype参数时输入类型为float和float64。

支持的ONNX版本

Opset v9/v10/v11/v12/v13/v14/v15/v16/v17/v18