https://blog.csdn.net/qq_40210472/article/details/87895626
1. nn.Conv2d
nn.Conv2d
输入信号的形式为(N, Cin, H, W), N表示batch size,Cin表示channel个数,H,W分别表示特征图的高和宽。
参数说明:
-
stride(步长):控制cross-correlation的步长,可以设为1个int型数或者一个(int, int)型的tuple。
-
padding(补0):控制zero-padding的数目。
-
dilation(扩张):控制kernel点(卷积核点)的间距;
-
groups(卷积核个数):这个比较好理解,通常来说,卷积个数唯一,但是对某些情况,可以设置范围在1 —— in_channels中数目的卷积核:
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
-
参数kernel_size,stride, padding,dilation也可以是一个int的数据
-
此时卷积height 和 width值相同; 也可以是一个tuple数组,tuple的第一维度表示height的数值,tuple的第二维度表示width的数值。
- 经常使用二维的kernel_size,如(3,5),是tuple数组。
参数
-
in_channels(int) – 输入信号的通道
-
out_channels(int) – 卷积产生的通道
-
kerner_size(int or tuple) - 卷积核的尺寸,在nlp中tuple用更多,(n,embed_size)
-
stride(int or tuple, optional) - 卷积步长
-
padding(int or tuple, optional) - 输入的每一条边补充0的层数
-
dilation(int or tuple, optional) – 卷积核元素之间的间距
-
groups(int, optional) – 从输入通道到输出通道的阻塞连接数
-
bias(bool, optional) - 如果bias=True,添加偏置
2. nn.MaxPool2d
class torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)
- 如果padding 不是0,会在输入的每一边添加相应数目0,如padding=1,则在每一边分别补0,其实最后的结果补出来是bias
参数:
-
kernel_size(int or tuple): max pooling的窗口大小,可以为tuple,在nlp中tuple用更多,(n, 1)
- (n, m): height/n, width/m
-
stride(int or tuple, optional): max pooling的窗口移动的步长。默认值是kernel_size
-
padding(int or tuple, optional): 输入的每一条边补充0的层数
-
dilation(int or tuple, optional): 一个控制窗口中元素步幅的参数
-
return_indices: 如果等于True,会返回输出最大值的序号,对于上采样操作会有帮助
-
ceil_mode: 如果等于True,计算输出信号大小的时候,会使用向上取整,代替默认的向下取整的操作