【发布时间】:2021-05-13 06:11:11
【问题描述】:
我正在使用 Python 3.8 和 PyTorch 1.7.1。我看到了一个定义 Conv2d 层的代码,如下所示:
Conv2d(3, 6, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
传递给它的输入“X”是一个 4D 张量-
X.shape
# torch.Size([4, 3, 6, 6])
这个conv层的输出量是:
c1(X).shape
# torch.Size([4, 6, 3, 3])
我正在尝试使用公式来计算任何卷积层的输出空间维度:O = ((W - K + 2P)/S) + 1,其中 W = 图像的空间维度,K = 滤波器/内核大小, P = 零填充 & S = 步幅。
对于 'c1' 卷积层,我们得到 W = 6, K = 3, S = 2 & P = 1。使用公式,你得到 O = ((6 - 3 + (2 x 1)) / 2) + 1 = 5/2 + 1 = 3.5。
输出量:(4, 6, 3, 3),因为使用的过滤器数量 = 6。 'c1' 那么 (3, 3) 的空间输出如何?我没有得到什么?
谢谢!
【问题讨论】:
标签: python-3.x pytorch conv-neural-network