功能
卷积,使用一个输入张量和一个滤波器,并且计算输出。
输入
- 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属性。其中默认值为NOTSET,表示使用显式填充。SAME_UPPER或SAME_LOWER表示填充输入,以便对于每个轴 。填充在两侧之间相等或几乎相等地分配(取决于它是偶数还是奇数)。如果填充是奇数,则在SAME_UPPER的末尾添加额外的填充,在SAME_LOWER的开头添加额外的填充。
- dilations:输入四维Tensor时为4个整数的列表,五维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