步长与填充
步长:卷积核移动时的长度.
填充:对输入层的长度宽度的扩展。
目的:控制特征图的尺寸
较大的特征图需要更多的计算资源来处理。通过减小特征图的尺寸,可以降低网络的计算复杂度,使得模型更快、更高效
#输入通道为1,输出通道为1 卷积核形状3x3 边缘填充1
conv2d=nn.Conv2d(1,1,kernel_size=3,padding=1)
#输入通道为1,输出通道为1 卷积核形状5x3 高度填充2 宽度填充1
conv2d2=nn.Conv2d(1,1,kernel_size=(5,3),padding=(2,1))
#输入通道为1,输出通道为1 卷积核形状3x3 边缘填充1 步幅为2
conv2d3 = nn.Conv2d(1, 1, kernel_size=3, padding=1, stride=2)
#输入通道为1,输出通道为1 卷积核形状3x5 高度填充0 宽度填充1 高度上步长为3 水平上步长为2
conv2d = nn.Conv2d(1, 1, kernel_size=(3, 5), padding=(0, 1), stride=(3, 4))
多输入多输出通道
通道:我更愿意从特征方面去理解,首先卷积操作相当于找出卷积核对应的特征,多个卷积核做多个卷积就相当于找出不同标准下的不同特征。 故多通道数输出的其实就是不同标准下的不同特征图。
# 6就是输出通道
nn.Conv2d(1, 6, kernel_size=5, padding=2)
池化层
目的:
增强平移不变性
提取特征,减少过拟合(重要原因)
注意:池化层并不会改变通道数
nn.AvgPool2d(kernel_size=2,stride=2),
每一种层的作用:
卷积层:捕捉特征
池化层:减少计算量
全连接层:分类