Anime-WGAN-GP

WGAN64_anime

Introduction

Anime-WGAN-GP 是一个使用 WGAN-GP 来生成动漫头像的项目

相关视频: 【项目分享】使用GAN网络生成动漫头像(附代码)

Requirements

Dataset

下载zip并且解压到 ./dataset 文件夹下, dataset/anime256 and dataset/anime

如果下载过慢可以使用Github proxy加速

这两个数据集下载任意一个用于训练都可以

Use

Train

设计了两个模型结构, WGANWGANP, 这两个模型最主要的区别在于Generator增大图片尺寸的方式,你可以通过这篇文章反卷积存在的问题了解到为什么要这么做

注意: 如果需要自己训练模型,请参阅更多训练信息,当然你可以在后面找到提供的预训练模型

Generate images

默认情况下,它会在 ./images 下生成一个 8x8 网格的动漫图片

其他:

Pretrained model

modeldatasetDiscriminatorGenerator
WGAN ANIME256 download download
ANIME download download
WGANP ANIME256 download download
ANIME download download

如果不想自己训练(大约36~48h),可以下载预训练好的模型G并将其移动到./checkpoints下,然后按照上文Generate images生成图片, 注意修改后面的生成器G的模型路径

事实上如果你只是想生成一张动漫图片你只需要下载G, 判别器D在生成图片的过程中并没有用到

Result

Conclusion

这是第一次尝试GAN,久闻大名但从未尝试学习它.恰逢数据科学导论课期末报告,期末作业是做一些与机器学习相关的事情.所以这是学习 GAN 的好机会!于是看了一些GAN的论文,真的很有意思.

GAN学习指南:从原理入门到制作生成Demo启发了尝试生成自己的动漫头像

实际上必须承认,的预训练模型并没有像期待的那样表现出色,时至今日有很多优秀的模型在生成图像上具有更好的效果,比如diffusion.

这个项目的最初目的只是为了学习一些关于 GAN 的东西,选择使用 WGAN-GP 是因为它的数学推导很棒,想尝试动手写一下而不是只是双击运行,那样稍显无趣.

特别感谢 pytorch-wgan,绝大部分代码都参考自这个项目

其实一开始想生成 256x256 的图像,这就是为什么爬取 256x256 图像并制作该数据集的原因.但随着图像尺寸乘以 4,模型表现极差.也许需要一个更好的模型结构.试过使用residual block ,但效果不佳.

Relevant reference

project:

knowledge:

zood