小编Shr*_*yas的帖子

如何解决由于PyTorch中的大小不匹配导致的运行时错误?

我正在尝试使用简单的自动编码器PyTorch.我的数据集由256 x 256 x 3图像组成.我已经构建了一个torch.utils.data.dataloader.DataLoader将图像存储为张量的对象.当我运行autoencoder时,我收到运行时错误:

大小不匹配,m1:[76800 x 256],m2:[784 x 128] atUsers/soumith/minicondabuild3/conda-bld/pytorch_1518371252923/work/torch/lib/TH/generic/THTensorMath.c:1434

这些是我的超参数:

batch_size=100,
learning_rate = 1e-3,
num_epochs = 100
Run Code Online (Sandbox Code Playgroud)

以下是我的自动编码器的架构:

class autoencoder(nn.Module):
    def __init__(self):
        super(autoencoder, self).__init__()
        self.encoder = nn.Sequential(
            nn.Linear(3*256*256, 128),
            nn.ReLU(),
            nn.Linear(128, 64),
            nn.ReLU(True),
            nn.Linear(64, 12),
            nn.ReLU(True),
            nn.Linear(12, 3))

        self.decoder = nn.Sequential(
            nn.Linear(3, 12),
            nn.ReLU(True),
            nn.Linear(12, 64),
            nn.ReLU(True),
            nn.Linear(64, 128),
            nn.Linear(128, 3*256*256),
            nn.ReLU())

def forward(self, x):
    x = self.encoder(x)
    #x = self.decoder(x)
    return x
Run Code Online (Sandbox Code Playgroud)

这是我用来运行模型的代码:

for epoch in range(num_epochs):
for data in dataloader:
    img = …
Run Code Online (Sandbox Code Playgroud)

python autoencoder pytorch

4
推荐指数
2
解决办法
7336
查看次数

标签 统计

autoencoder ×1

python ×1

pytorch ×1