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#
早期成功的神經網絡