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
畳み込みカーネルの移動ステップ、出力特徴マップのサイズを制御します。例:2、(3,5) - padding
入力の境界にゼロを追加する数、出力特徴マップの空間サイズを制御します。 - bias
バイアス項を追加するかどうか、デフォルトは True。
2、nn.MaxPool2d#
PyTorch 中用于实现 二维最大池化层(2D Max Pool Layer)的类
填充 padding 和 步幅 stride 和 nn.Conv2d
一样。
没有可学习的参数
例:
nn.MaxPool2d(3)
・kernel_size=3:入力特徴マップ上で 3x3 のウィンドウをスライドさせることを示します。
デフォルト:
・stride=kernel_size、つまりウィンドウは毎回 3 ピクセルスライドします(非重複プーリング)。nn.Conv2d
のデフォルトパラメータとは異なります。
・padding=0、エッジパディングは行いません。
3、LeNet#
初期の成功した神経ネットワーク