FashionGen 上的 DCGAN

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。
模型描述
在计算机视觉领域,生成模型是指经过训练可以根据给定输入创建图像的网络。在我们的案例中,我们研究一种特定类型的生成网络:GAN(生成对抗网络),它学习将随机向量映射为逼真的图像生成结果。
DCGAN 是由 Radford 等人在 2015 年的论文《利用深度卷积生成对抗网络进行无监督表示学习》中提出的模型。这是一种既简单又高效的 GAN 架构,适用于低分辨率图像生成(最高可达 64×64)。
要求
- 目前仅支持 Python 3
参考文献