关于灰度图像 DCGAN (Pytorch) 中通道大小的问题

Posted

技术标签:

【中文标题】关于灰度图像 DCGAN (Pytorch) 中通道大小的问题【英文标题】:Issue regarding channel size in DCGAN (Pytorch) for grayscale image 【发布时间】:2020-08-25 02:53:14 【问题描述】:

我尝试为我自己的数据集修改 DCGAN 的示例代码enter link description here。示例代码适用于 RGB 图像,但我的数据是灰度图像。因此,我将通道数“nc”的值设置为 1。但是,当我尝试运行程序时,我得到了这个错误: RuntimeError: 给定组=1,大小为 64 1 4 4 的权重,预期输入 [128, 3, 64, 64] 有 1 个通道,但有 3 个通道。我确实知道这是关于频道数量的问题,但我不知道我应该改变什么来解决这个错误。

任何帮助将不胜感激!

【问题讨论】:

这能回答你的问题吗? RuntimeError: Given groups=1, weight of size [64, 3, 7, 7], expected input[3, 1, 224, 224] to have 3 channels, but got 1 channels instead 【参考方案1】:

您正在传递带有3 通道的RGB 图像。你应该传递形状为 [batch, 1, width, height] 的张量,而你的显然是 [128, 3, 64, 64](并且应该是 [128, 1, 64, 64])。

通过print(image.shape)属性验证您输入的图像形状`

如果您使用torchvision(在后台使用pillow),则可以使用torchvision.transforms.Grayscale()(请参阅docs)。还要验证您的图像确实是灰度的。

【讨论】:

【参考方案2】:

您输入的实际形状是什么?我的猜测是您将图像加载为标准 RGB,即使它们是真正的灰度图像,也会将它们加载为 3 通道图像。

【讨论】:

以上是关于关于灰度图像 DCGAN (Pytorch) 中通道大小的问题的主要内容,如果未能解决你的问题,请参考以下文章

将 pytorch 张量保存为 32 位灰度图像

PyTorch-13 生成对抗网络(DCGAN)教程

DCGAN的原理及Pytorch实现

GAN-生成对抗神经网络(Pytorch)-合集GAN-DCGAN-CGAN

GAN-生成对抗神经网络(Pytorch)-合集GAN-DCGAN-CGAN

GAN-生成对抗神经网络(Pytorch)-合集GAN-DCGAN-CGAN