【问题标题】:Autoencoder outputs B&W images from color自动编码器从彩色输出黑白图像
【发布时间】:2021-06-17 14:28:10
【问题描述】:

我们正在 CIFAR10 图像上训练 AE。我们使用了以下架构:

class OurAE(nn.Module):
    def __init__(self, in_channels, z_channels):
        super(OurAE, self).__init__()
  
        self.tot_diff = None
    
        self.in_channels = in_channels
    
        curr_channels = in_channels
    
        encoder = []
        channels = [3, 16, 64] + [z_channels]
    
        for out_channels in channels:
            encoder += [
                nn.Conv2d(in_channels=curr_channels, out_channels=out_channels, kernel_size=3, padding=1, stride=2),
                nn.ReLU()
            ]
            curr_channels = out_channels
    
        self.encoder = nn.Sequential(*encoder)
    
        curr_channels = z_channels
        decoder = []
        channels = [64, 16, 3] + [in_channels]
    
        for out_channels in channels:
            decoder += [
                nn.ConvTranspose2d(in_channels=curr_channels, out_channels=out_channels, kernel_size=4, padding=1, stride=2),
                nn.ReLU()
            ]
            curr_channels = out_channels
    
        decoder = decoder[:-1] # removing the RELU layer
        decoder.append(nn.Sigmoid())
    
        self.decoder = nn.Sequential(*decoder)
        
    def forward(self, x):
        return self.decoder(self.encoder(x))

我们不知道为什么,但我们总是得到黑白图像。 我们尝试将最后一层中的Sigmoid 替换为ReLU,但无济于事。

这些是我们使用的损失函数和优化器:

optimizer = torch.optim.Adam(classifier.parameters(), lr=lr)
criterion = torch.nn.CrossEntropyLoss()

以下是训练后 AE 的输入和输出示例:

【问题讨论】:

  • 您确定您的输入图像已标准化为 [0, 1]` 范围吗?你不应该使用ReLU,坚持使用Sigmoid,因为它将输出限制在正确的范围内。
  • @SzymonMaszke 我试着按照你的建议去做,虽然它没有用:/
  • 如果你的输入是标准化的,你应该尝试更宽的网络(更多的通道)和更大的潜在空间(z_channels)来捕获必要的信息。 z_channels 当前设置为什么?
  • 32 虽然我们也尝试了 64。我认为潜在向量的形状是 [32, 8, 8]
  • 尝试先突然变宽/变深,以确保问题不在架构/容量范围内。

标签: python numpy deep-learning pytorch autoencoder


【解决方案1】:

我遇到了同样的问题。我将损失函数更改为“mae”。这为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多