1、nn.Conv2d#
PyTorch 中用于实现 二维卷积层(2D Convolutional Layer)的类
重要参数
- in_channels
输入数据的通道数(例如 RGB 图像是 3,灰度图是 1) - out_channels
输出的通道数,表示 卷积核的个数。
# 假设你有一个 RGB 图像(3 个通道),大小为 32×32:
conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, padding=1)
# 你得到的输出形状为:[batch_size, 16, 32, 32]
- kernal_size
卷积核大小,一般为 3 ⇌ (3,3) 或 5 ⇌ (5,5), 也可以是 (3,5) 等。 - stride
卷积核移动步长,控制输出特征图的尺寸。ex:2,(3,5) - padding
在输入边界补零的数量,控制输出特征图的空间大小。 - bias
是否添加偏置项,默认为 True。
2、nn.MaxPool2d#
PyTorch 中用于实现 二维最大池化层(2D Max Pool Layer)的类
填充 padding 和 步幅 stride 和 nn.Conv2d
一样。
没有可学习的参数
ex:
nn.MaxPool2d(3)
・kernel_size=3:表示使用一个 3x3 的窗口在输入特征图上滑动。
默认:
・stride=kernel_size,即窗口每次滑动 3 个像素(非重叠池化)。和nn.Conv2d
默认参数不同。
・padding=0,不做边缘填充。
3、LeNet#
早期成功的神经网络