代码,训练过程,训练输出,测试输出,参见
github:https://github.com/One-sixth/CVAE-GAN_tensorlayer
其他复制一下:
CVAE-GAN_tensorlayer
A CVAE-GAN implementation with tensorlayer.
示例
依赖
tensorflow
tensorlayer
numpy
progressbar2
测试环境 tensorflow-gpu-1.10, tensorlayer-1.91, gtx970m-3g.
一些问题和注意点
嗯……这个实现可能与论文有一些差异。
我尝试了WGAN-GP和LS-GAN的损失,但结果并不好。 也许我的代码哪里有问题。
然后我改变鉴别器成为自动编码器并尝试BEGAN的损失,看起来还不错。
训练后的VAE输出仍然模糊,但我发现鉴别器的重建图像可以使VAE输出更清晰。
主要的网络结构是我简单自定义的resnet,它的效果应该与DCGAN不同。
训练日志
训练过程输出和日志分别可以在imgs和logs文件夹中找到。
训练日志已经过压缩,需要解压缩。
怎么用
测试
python3 test.py
我在存储库中上传了模型权重。 你可以使用我的模型权重进行测试。
测试输出可以在test_output文件夹中找到
每个图像的上三行是VAE输出,接下来的三行是鉴别器的重建输出
训练
python3 train.py
只需简单的启动train.py。 训练将马上开始。
如果之前的权重还在,它将自动重用之前的权重
* .npz文件是网络权重。 如果你想要全新训练,只需删除它们
如果您看到OOM,请尝试减少batch_size或使用cpu训练。
论文连接
CVAE-GAN: Fine-Grained Image Generation through Asymmetric Training
https://arxiv.org/abs/1703.10155
翻译过去又翻译过来好累啊。。下次应该先把中文blog写好,github再翻译检查粘贴