一般在设计深度网络架构时,神经网络中无非也就是卷积层和全连接层,而网络一般会对图像尺寸有限制,卷积改变图像的尺寸比较重要,需要会计算。因此来计算一下卷积和反卷积的尺寸计算。以pytorch为例.

Convolution

torch.nn.Conv2D(in_channels,out_channels,kernel_size,stride,padding,bias)
#以上几个参数比较常用

卷积操作后图像计算尺寸为:

  • 一般情况下,均为正方形,即W = H
  • 如果计算结果不是正数,则向下取整

Deconvolution

torch.nn.ConvTranspose2D(in_channels, out_channels, kernel_size, stride, padding,  output_padding,bias)
# 其中,padding是输入图片补0个数,output_padding是输出图像补0个数
# 直观上是扩大图片,边上填充0也可以用来扩大图像

反卷积图像尺寸计算公式:

其中,

  • 指的是ConvTranspose2D这个函数中的output_padding 参数;
  • 指的是上述函数的padding 参数