返回介绍

7 GAN 生成动漫头像

发布于 2024-01-28 10:47:22 字数 2988 浏览 0 评论 0 收藏 0

环境准备

  • 本程序需要安装 PyTorch
  • 还需要通过 pip install -r requirements.txt 安装其它依赖

数据准备

更好的图片生成效果更好

  • 可以自己写爬虫爬取 Danbooru 或者 konachan
  • 如果你不想从头开始爬图片,可以直接使用爬好的头像数据(275M,约 5 万多张图片): https://pan.baidu.com/s/1eSifHcA 提取码:g5qa
    感谢知乎用户 何之源 爬取的数据。
    请把所有的图片保存于 data/face/目录下,形如
data/
└── faces/
    ├── 0000fdee4208b8b7e12074c920bc6166-0.jpg
    ├── 0001a0fca4e9d2193afea712421693be-0.jpg
    ├── 0001d9ed32d932d298e1ff9cc5b7a2ab-0.jpg
    ├── 0001d9ed32d932d298e1ff9cc5b7a2ab-1.jpg
    ├── 00028d3882ec183e0f55ff29827527d3-0.jpg
    ├── 00028d3882ec183e0f55ff29827527d3-1.jpg
    ├── 000333906d04217408bb0d501f298448-0.jpg
    ├── 0005027ac1dcc32835a37be806f226cb-0.jpg

即 data 目录下只有一个文件夹,文件夹中有所有的图片

用法

如果想要使用 visdom 可视化,请先运行 python2 -m visdom.server 启动 visdom 服务
基本用法:

Usage: python main.py FUNCTION --key=value,--key2=value2 ..

训练

python main.py train --nogpu --vis=False

生成图片

点此 可下载预训练好的生成模型,如果想要下载预训练的判别模型,请 点此

python main.py generate --nogpu --vis=False \
            --netd-path=checkpoints/netd_200.pth \
            --netg-path=checkpoints/netg_200.pth \
            --gen-img=result.png \
            --gen-num=64

完整的选项及默认值

    data_path = 'data/' # 数据集存放路径
    num_workers = 4 # 多进程加载数据所用的进程数
    image_size = 96 # 图片尺寸
    batch_size = 256
    max_epoch =  200
    lr1 = 2e-4 # 生成器的学习率
    lr2 = 2e-4 # 判别器的学习率
    beta1=0.5 # Adam 优化器的 beta1 参数
    gpu=True # 是否使用 GPU --nogpu 或者--gpu=False 不使用 gpu
    nz=100 # 噪声维度
    ngf = 64 # 生成器 feature map 数
    ndf = 64 # 判别器 feature map 数
    
    save_path = 'imgs/' #训练时生成图片保存路径
    
    vis = True # 是否使用 visdom 可视化
    env = 'GAN' # visdom 的 env
    plot_every = 20 # 每间隔 20 batch,visdom 画图一次

    debug_file='/tmp/debuggan' # 存在该文件则进入 debug 模式
    d_every=1 # 每 1 个 batch 训练一次判别器
    g_every=5 # 每 5 个 batch 训练一次生成器
    decay_every=10 # 没 10 个 epoch 保存一次模型
    netd_path = 'checkpoints/netd_211.pth' #预训练模型
    netg_path = 'checkpoints/netg_211.pth'
    
    # 只测试不训练
    gen_img = 'result.png'
    # 从 512 张生成的图片中保存最好的 64 张
    gen_num = 64 
    gen_search_num = 512 
    gen_mean = 0 # 噪声的均值
    gen_std = 1 #噪声的方差

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文