反卷积
2020-10-26 本文已影响0人
HelloSam
有关反卷积的文章:
TensorFlow中的经验:
1、反卷积的时候:
①如果padding='same'
,那么就是要扩大两倍,把stride写成2,即strides=2
,
②如果padding='valid'
,那么就用来计算
其中是输出的图像的大小,是步长,你反卷积的那个图像的大小,是卷积核大小。就能算出来反卷积后得到的图像的尺寸.
2、卷积的时候:
①如果padding='same'
,
1.1 stride=1
, 那么卷出来的大小和输入图像大小一样
1.2 stride=2
,那么卷出来的效果就是输出图像长宽的除以2,除不开就向上取整,即:
②如果padding='valid'
,那么p=0,就去套公式求输出的大小:
3、全局平均池化
如果有一批特征图,其尺寸为 , 我们经过全局平均池化之后,尺寸变为
全局平均池化可以代替view的操作,把图像的长x宽1x1
PyTorch中的经验:
1、对于卷积,统一公式:
或者是
以上两个公式计算结果是一样的,举例说明:
对于的输入,用Conv2d(3, 48, kernel_size=11, stride=4, padding=2)得到:
即得到:的特征图.
另外
对于池化操作:
注意本来是向下取整的,即在中:
nn.MaxPool2d(
kernel_size,
stride=None,
padding=0,
dilation=1,
return_indices=False,
ceil_mode=False,
)
注意这个ceil_mode=False
所以是向下取整,但是可以通过调整这个参数变成True
之后就变成向上取整了。
常见地有,则
还可以是,则, 如果ceil_mode=False
就向下取整,如果ceil_mode=True
就向上取整.