torch.Conv2D return 的值是多少?

What values does torch.Conv2D return?

x = torch.randn(3,64,161,161)\
model = nn.Conv2d(64, 1, kernel_size=1) result = model(x)\
print(result.shape)

output : 3, 1, 161, 161

输出的前两个值为 3 和 1。我将其理解为:
3表示模型最初接收到的输入通道数。
1表示模型处理张量后的输出通道数。

我理解的对吗?

否,输入通道数为64(输出通道数为1)。 3 是代码段中的批量大小。

PyTorch 对所有具有 2D multi-channel 数据的张量的约定是具有 [N,C,H,W] 的形状,其中

  • N是批量维度
  • C是渠道维度
  • H是身高尺寸
  • W是宽度尺寸

对于Conv2d

N 对于输入张量和输出张量都是相同的,因为输入张量中的每个批处理元素都会在输出张量中产生一个对应的元素。

输入张量的C必须等于in_channels。这是您提供给 Conv2d 的第一个参数。在你的情况下它是 64 所以你需要有一个带有 64 通道的输入张量。

输出张量的 C 将等于 out_channels。这是您提供给 Conv2d 的第二个参数。在你的情况下它是 1 所以输出张量将有 1 通道。

WH 是正在卷积的数据的宽度和高度。输出形状将根据 Conv2dkernel_sizepaddingstridedilation 参数而变化。输入 WH 与输出 WH 相关的等式是

有关更多信息,我建议您查看 official documentation