import torch
use_gpu = True if torch.cuda.is_available() else False
model = torch.hub.load('facebookresearch/pytorch_GAN_zoo:hub', 'DCGAN', pretrained=True, useGPU=use_gpu)
模型的输入是一个形状为 (N, 120)
的噪声向量,其中 N
是要生成的图像数量。可以使用函数 .buildNoiseData
来构建。模型有一个 .test
函数,它接受噪声向量并生成图像。
num_images = 64
noise, _ = model.buildNoiseData(num_images)
with torch.no_grad():
generated_images = model.test(noise)
# let's plot these images using torchvision and matplotlib
import matplotlib.pyplot as plt
import torchvision
plt.imshow(torchvision.utils.make_grid(generated_images).permute(1, 2, 0).cpu().numpy())
# plt.show()
您应该会看到一张与左侧类似的图像。
如果您想从头开始训练自己的 DCGAN 及其他 GAN,请参阅 PyTorch GAN Zoo。
模型描述
在计算机视觉中,生成模型是经过训练能够从给定输入创建图像的网络。在本例中,我们考虑一种特定的生成网络:GANs(生成对抗网络),它学习将随机向量映射到逼真的图像生成。
DCGAN 是 Radford 等人于 2015 年在论文 使用深度卷积生成对抗网络的无监督表示学习 中设计的一种模型。它是一种 GAN 架构,对于低分辨率图像生成(最高 64x64)来说非常简单高效。
要求
- 目前仅支持 Python 3