这是一个名为WGAN的新alogorithm,一个传统GAN训练的替代品!
wgan-pytorch的Python项目详细描述
瓦瑟施泰因·皮托奇
更新(2020年2月21日)
mnist和fmnist模型现在可用。它们的用法与其他型号相同:
fromwgan_pytorchimportGeneratormodel=Generator.from_pretrained('g-mnist')
概述
此存储库包含Wasserstein GAN的op for op PyTorch重新实现。在
这个实现的目标是简单,高度可扩展,并且易于集成到您自己的项目中。这个实现是一个正在进行的工作——新特性目前正在实现中。在
目前,您可以轻松地:
- 加载预训练生成模型
- 为扩展数据集使用生成模型
即将推出的功能:在接下来的几天内,您将能够:
- 在您自己的数据集上快速调整生成
- 导出生成生产模型
目录
关于Wasserstein GAN
如果你是刚接触过Wasserstein GAN,这里有一个直接摘自报纸的摘要:
我们引入了一种新的算法WGAN,它是传统GAN训练的一种替代。在这个新的模型中,我们证明我们可以提高学习的稳定性,消除模式崩溃等问题,并提供有意义的学习曲线,有助于调试和超参数搜索。此外,我们还证明了相应的优化问题是合理的,并提供了大量的理论工作,强调了与分布之间其他距离的深层联系。在
型号说明
我们有两个网络,G(生成器)和D(鉴别器)。生成器是生成图像的网络。它接收到一个随机噪声z,并从该噪声中生成图像,称为G(z),鉴别器是鉴别图像是否真实的鉴别网络。输入是x,x是一张图片,输出是D,x是一张真实图片的概率,如果是1,它是100%真实的,如果是0,它就不是真实的。在
安装
从pypi安装:
^{pr2}$从源安装:
git clone https://github.com/Lornatang/WassersteinGAN-PyTorch.git
cd WassersteinGAN-PyTorch
pip install -e .
用法
加载预训练模型
装上一个瓦瑟斯坦干:
fromwgan_pytorchimportGeneratormodel=Generator.from_name("g-mnist")
加载预训练的Wasserstein GAN:
fromwgan_pytorchimportGeneratormodel=Generator.from_pretrained("g-mnist")
示例:扩展数据集
如示例中所述,如果加载MNIST数据集的预先训练的权重,它将创建一个新的imgs
目录,并在imgs
目录中生成64个随机图像。在
importosimporttorchimporttorchvision.utilsasvutilsfromwgan_pytorchimportGeneratordevice=torch.device("cuda:0"iftorch.cuda.is_available()else"cpu")model=Generator.from_pretrained("g-mnist")model.to(device)# switch to evaluate modemodel.eval()try:os.makedirs("./imgs")exceptOSError:passwithtorch.no_grad():foriinrange(64):noise=torch.randn(64,100,device=device)fake=model(noise)vutils.save_image(fake.detach(),f"./imgs/fake_{i:04d}.png",normalize=True)print("The fake image has been generated!")
示例:视觉
cd $REPO$/framework sh start.sh
然后打开浏览器并输入浏览器地址http://127.0.0.1:10002/。 好好享受吧。在
贡献
如果你发现了一个bug,创建了一个GitHub问题,或者提交一个pull请求。类似地,如果您有问题,只需将其作为GitHub问题发布即可。在
我期待着看到社区对这些模型做了什么!在
- 项目
标签: