@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府
TensorFlow里面的padding只有两个选项也就是valid和same
pytorch里面的padding么有这两个选项,它是数字0,1,2,3等等,默认是0
所以输出的h和w的计算方式也是稍微有一点点不同的:tf中的输出大小是和原来的大小成倍数关系,不能任意的输出大小;而nn输出大小可以通过padding进行改变
nn里面的卷积操作或者是池化操作的H和W部分都是一样的计算公式:H和W的计算
class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False):
"""
Parameters:
kernel_size – the size of the window to take a max over
stride – the stride of the window. 默认值是kernel_size
padding – implicit zero padding to be added on both side,默认值是0
dilation – a parameter that controls the stride of elements in the window,默认值是1
return_indices – if True, will return the max indices along with the outputs. Useful when Unpooling later
ceil_mode – when True, will use ceil instead of floor to compute the output shape,向上取整和向下取整,默认是向下取整
"""
不一样的地方在于:第一点,步长stride默认值,上面默认和设定的kernel_size一样,下面默认是1;第二点,输出通道的不一样,上面的输出通道和输入通道是一样的也就是没有改变特征图的数目,下面改变特征图的数目为out_channels
class tor