0

我正在阅读有关 pytorch 的本教程。https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html 我已经能够在我生成的假图像旁边显示真实图像。

# Grab a batch of real images from the dataloader
real_batch = next(iter(dataloader))

# Plot the real images
plt.figure(figsize=(15,15))
plt.subplot(1,2,1)
plt.axis("off")
plt.title("Real Images")
plt.imshow(np.transpose(vutils.make_grid(real_batch[0].to(device)[:64], padding=5, normalize=True).cpu(),(1,2,0)))

# Plot the fake images from the last epoch
plt.subplot(1,2,2)
plt.axis("off")
plt.title("Fake Images")
plt.imshow(np.transpose(img_list[-1],(1,2,0)))
plt.show()

从我的数据集中得出的结果是: 在此处输入图像描述

我想知道如何从生成的假图像中显示一张图像。如果可能,我还想将其显示为 512 X 512 图像。

编辑: img_list[-1].shape 是 torch.Size([3, 530, 530])。

编辑2:在此处输入图像描述

这部分训练表明 img_list 是一个图像列表,每个图像是一组子图像(无法将它们分开)。有没有办法可以编辑它以使 img_list 成为每个生成的假图像的图像?

4

1 回答 1

0

这是我想要的:

noise = torch.randn(1, nz, 1, 1, device=device)
with torch.no_grad():
    newfake = netG(noise).detach().cpu()

plt.axis("off")
plt.imshow(np.transpose(newfake[0],(1,2,0)))
plt.show()

因为它生成了一个新的图像,带有一个新的噪声。img_list 将生成的图像组合成一张图像。但是,此代码仍然只生成 64 x 64 像素的图像。

于 2022-02-12T18:13:08.387 回答