首页 > 解决方案 > Pytorch 张量的哪一部分代表通道?

问题描述

令人惊讶的是,在浏览了互联网之后,我还没有找到这个问题的答案。我对 3d 张量特别感兴趣。通过我自己的实验,我发现当我创建一个张量时:

h=torch.randn(5,12,5)

然后在上面放一个卷积层,定义如下:

conv=torch.nn.Conv1d(12,48,3,padding=1)

输出是一个 (5,48,5) 张量。那么,我是否正确假设对于 pytorch 中的 3d 张量,中间数字代表通道数?

编辑:似乎在运行 conv2d 时,输入维度是张量中的第一个条目,例如,我需要将其设为 4d 张量 (1,48,5,5)。现在我很困惑...

任何帮助深表感谢!

标签: pythonconv-neural-networkpytorchdimensiontensor

解决方案


对于 conv2D,输入应为 (N, C, H, W) 格式。N 是样本数/batch_size。C是渠道。H 和 W 分别是高度和宽度。

请参阅https://pytorch.org/docs/stable/nn.html#torch.nn.Conv2d上的形状文档

对于 conv1D,输入应为 (N,C,L),请参阅https://pytorch.org/docs/stable/nn.html#conv1d上的文档


推荐阅读