Eri*_*din 1 convolution conv-neural-network pytorch tensor
我正在尝试使用卷积层对灰度(单层)图像(存储为 numpy 数组)进行卷积。这是代码:
conv1 = torch.nn.Conv2d(in_channels = 1, out_channels = 1, kernel_size = 33)
tensor1 = torch.from_numpy(img_gray)
out_2d_np = conv1(tensor1)
out_2d_np = np.asarray(out_2d_np)
Run Code Online (Sandbox Code Playgroud)
我希望我的内核为 33x33,并且输出层的数量应等于输入层的数量,当图像的 RGB 通道相加时,输入层的数量为 1。运行时out_2d_np = conv1(tensor1)会产生以下运行时错误:
RuntimeError: 预期 4 维输入为 4 维权重 1 1 33 33,但得到了大小为 [246, 248] 的 2 维输入
我知道如何解决这个问题吗?我特别想使用torch.nn.Conv2d()类/函数。
预先感谢您的任何帮助!
pytorchConv2d期望其 2D 输入实际上有4 个维度:小批量维度、通道维度和两个空间维度。
您的输入张量只有两个空间维度,并且缺少小批量和通道维度。在你的情况下,这两个维度实际上是单一维度(大小=1的维度)。
尝试:
conv1(tensor1[None, None, ...])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4774 次 |
| 最近记录: |