1# Conv2DFusion 2 3 4## 概述 5 6对将4维的tensor执行带有偏置的二维卷积运算。 7 8该算子对应的[NodeType](_n_n_rt_v20.md#nodetype)为NODE_TYPE_CONV2D_FUSION。 9 10参数限制:当padMode==PAD_MODE_PAD时,padList的数值必须大于等于0。其他情况下padding的数值必须为0。 11 12输入: 13 14- x,4维tensor,并按照NHWC进行排列。 15 16- weight,卷积的权重,要求weight排布为[outChannel,kernelHeight,kernelWidth,inChannel/group], inChannel必须要能整除group。 17 18- bias,卷积的偏置,是长度为[outChannel]的数组。在量化场景下,bias 参数不需要量化参数,其量化 版本要求输入 int32 类型数据,实际量化参数由 x 和 weight 共同决定。 19 20输出: 21 22- output,卷积的输出。 23 24**起始版本:** 3.2 25 26**相关模块:**[NNRt](_n_n_rt_v20.md) 27 28 29## 汇总 30 31 32### Public 属性 33 34| 名称 | 描述 | 35| -------- | -------- | 36| long[] [kernelSize](#kernelsize) | 卷积核大小。 | 37| long[] [stride](#stride) | 卷积核在height和weight上的步幅,是一个长度为2的int数组[strideHeight,strideWidth]。 | 38| long[] [dilation](#dilation) | 表示扩张卷积在height和weight上的扩张率,是一个长度为2的int数组[dilationHeight,dilationWidth], 值必须大于或等于1,并且不能超过x的height和width。 | 39| enum [PadMode](_n_n_rt_v20.md#padmode)[padMode](#padmode) | 填充类型,详情请参考:[PadMode](_n_n_rt_v20.md#padmode)。 | 40| long[] [padList](#padlist) | 输入x周围的填充,是一个长度为4的int数组[top,bottom,left,right]。 | 41| long [group](#group) | group,将输入x按inChannel分组,int类型。 group等于1,这是常规卷积。 group等于inChannel,这是depthwiseConv2d,此时group==in_channel==out_channel。 group大于1且小于inChannel,这是分组卷积,此时out_channel==group。 | 42| long [inChannel](#inchannel) | 输入通道数量。 | 43| long [outChannel](#outchannel) | 输出通道数量。 | 44| enum [ActivationType](_n_n_rt_v20.md#activationtype)[activationType](#activationtype) | 激活函数类型,详情请参考:[ActivationType](_n_n_rt_v20.md#activationtype)。 | 45 46 47## 类成员变量说明 48 49 50### activationType 51 52``` 53enum ActivationType Conv2DFusion::activationType 54``` 55**描述** 56激活函数类型,详情请参考:[ActivationType](_n_n_rt_v20.md#activationtype)。 57 58 59### dilation 60 61``` 62long [] Conv2DFusion::dilation 63``` 64**描述** 65表示扩张卷积在height和weight上的扩张率,是一个长度为2的int数组[dilationHeight,dilationWidth], 值必须大于或等于1,并且不能超过x的height和width。 66 67 68### group 69 70``` 71long Conv2DFusion::group 72``` 73**描述** 74group,将输入x按inChannel分组,int类型。 group等于1,这是常规卷积。 group等于inChannel,这是depthwiseConv2d,此时group==in_channel==out_channel。 group大于1且小于inChannel,这是分组卷积,此时out_channel==group。 75 76 77### inChannel 78 79``` 80long Conv2DFusion::inChannel 81``` 82**描述** 83输入通道数量。 84 85 86### kernelSize 87 88``` 89long [] Conv2DFusion::kernelSize 90``` 91**描述** 92卷积核大小。 93 94 95### outChannel 96 97``` 98long Conv2DFusion::outChannel 99``` 100**描述** 101输出通道数量。 102 103 104### padList 105 106``` 107long [] Conv2DFusion::padList 108``` 109**描述** 110输入x周围的填充,是一个长度为4的int数组[top,bottom,left,right]。 111 112 113### padMode 114 115``` 116enum PadMode Conv2DFusion::padMode 117``` 118**描述** 119填充类型,详情请参考:[PadMode](_n_n_rt_v20.md#padmode)。 120 121 122### stride 123 124``` 125long [] Conv2DFusion::stride 126``` 127**描述** 128卷积核在height和weight上的步幅,是一个长度为2的int数组[strideHeight,strideWidth]。 129