how to

6.0.卷积基础

Aug 15, 2024
notesjulyfun技术学习d2l
3 Minutes
478 Words

细节

  • 卷积层中,输入通道到输出通道是全连接的。卷积核的形状是 out_channel * in_channel * k_h * k_w(与图像大小无关)这也是此 nn.Conv2d 的参数量
  • 每个输入-输出通道 pair 拥有仅一个 𝑘×𝑘𝑤 的二维卷积核(或者说每个输出通道拥有一个 in_channel * k_h * k_w 的三维卷积核).
  • 每个输出通道由所有 (输入通道,卷积核) 卷出来.
  • 输入图上的不同位置共用卷积核.
  • 考察单个输出通道,它是一个 8x8 的图.
    • 图上的每一个实数,代表所有输入通道的特定位置分别经过与一个卷积核逐元素相乘得到的乘积的和
    • 每个输出通道独立发展.
  • 考察输出图中单个位置的所有输出通道 (out_channel * 1 * 1):
    • 可以认为是所有输入通道的特定空间位置经过卷积核得到的语义信息.
    • 因此该向量的信息来源是 in_channel * k_h * k_w

default

torch.nn.Conv2d

1
# [解释] 输入通道 3,输出通道 96,输出大小 54 * 54,注意这里 kernel 没有刚好填到最右端,下取整为 54. 卷积核有 96 个(每个输出通道拥有一个三维卷积核,每个卷积核的形状是 3 * 11 * 11).
2
nn.Conv2d(3, 96, kernel_size=11, stride=4, padding=1),

Classes

ConvTranspose2d

1
self.upconv2 = nn.ConvTranspose2d(128, 64, kernel_size=2, stride=2)

他会在卷积逆操作的同时插入 0,放大分辨率。

1
输入张量:
2
1 2
3
3 4
4
5
插入零后的张量:
6
1 0 2 0
7
0 0 0 0
8
3 0 4 0
9
0 0 0 0
10
11
卷积核:
12
1 0
13
0 1
14
15
转置卷积操作的输出:
4 collapsed lines
16
1 0 2 0
17
0 0 0 0
18
3 0 4 0
19
0 0 0 0
Article title:6.0.卷积基础
Article author:Julyfun
Release time:Aug 15, 2024
Copyright 2026
Sitemap