基于Python+OpenCV+Google colaboratory实现在自定义数据集上使用迁移学习训练StyleGAN...

概要

  • 分享我的知识,使用带有示例代码片段的迁移学习逐步在Google colab中的自定义数据集上训练StyleGAN

  • 如何使用预训练的权重从自定义数据集中生成图像

  • 使用不同的种子值生成新图像

介绍

生成对抗网络(GAN) 是机器学习中的一项最新创新,由 Ian J. Goodfellow 及其同事于2014年首次提出。

它是一组神经网络,以两人零和博弈的形式相互对抗。博弈论(一个人的胜利就是另一个人的损失)。它是用于无监督学习的生成模型的一种形式。

这里有一个生成器(用于从潜在空间中的某个点在数据上生成新实例)和鉴别器(用于将生成器生成的数据与实际或真实数据值区分开)。

最初,生成器生成虚假或伪造的数据,鉴别器可以将其分类为伪造,但是随着训练的继续,生成器开始学习真实数据的分布并开始生成真实的数据。

这种情况一直持续到鉴别器无法将其分类为不真实的并且生成器输出的所有数据看起来都像真实数据。

因此,此处生成器的输出连接到鉴别器的输入,并根据鉴别器的输出(是实数还是非实数)计算损失,并通过反向传播,为后续训练(epoch)更新生成器的权重。

StyleGAN目前在市场上有多种GAN变体,但在本文中,我将重点介绍Nvidia在2018年12月推出的StyleGAN。StyleGAN的体系结构使用基线渐进式GAN。即,生成图像的大小从非常低的角度逐渐增加分辨率(4×4)到非常高的分辨率(1024×1024),并使用双线性采样代替基线渐进式GAN中使用的最近邻居上/下采样。

该博客的主要目的是解释如何使用迁移学习在自定义数据集上训练StyleGAN,因此,有关GAN架构的更多详细信息,请参见NVlabs / stylegan-官方TensorFlow GitHub链接

  • https://github.com/NVlabs/stylegan

迁移学习在另一个相似的数据集上使用已训练的模型权重并训练自定义数据集。

自定义数据集包含2500个来自时尚的纹理图像。下面几张示例纹理图像可供参考。此处你可以替换成自己的自定义数据集。

重点和前提条件:
  1. 必须使用GPU,StyleGAN无法在CPU环境中进行训练。为了演示,我已经使用google colab环境进行实验和学习。

  2. 确保选择Tensorflow版本1.15.2。StyleGAN仅适用于tf 1.x

  3. StyleGAN训练将花费大量时间(几天之内取决于服务器容量,例如1个GPU,2个GPU等)

  4. 如果你正在从事与GAN相关的任何实时项目,那么由于colab中的使用限制和超时,你可能想在 tesla P-80或 P-100专用服务器上训练GAN 。

  5. 如果你有google-pro(不是强制性的),则可以节省多达40-50%的本文训练时间 ,我对GAN进行了3500次迭代训练,因为训练整个GAN需要很长时间(要获取高分辨率图像),则需要至少运行25000次迭代(推荐)。另外,我的图像分辨率是64×64,但是styleGAN是在1024×1024分辨率图像上训练的。

  6. 我已使用以下预先训练的权重来训练我的自定义数据集(有关更多详细信息,请参见Tensorflow Github官方链接)

  • https://drive.google.com/uc?id=1MEGjdvVpUsu1jB4zrXZN7Y4kBBOzizDQ

使用迁移学习在Google Colab中的自定义数据集上训练style GAN

  1. 打开colab并打开一个新的botebook。确保在Runtime->Change Runtime type->Hardware accelerator下设置为GPU

  2. 验证你的帐户并装载G驱动器

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

  1. 确保选择了Tensorflow版本1.15.2。StyleGAN仅适用于tf1.x。

%tensorflow_version 1.x
import tensorflow
print(tensorflow.__version__)

  1. 从 https://github.com/NVlabs/stylegan 克隆stylegan.git

!git clone https://github.com/NVlabs/stylegan.git
!ls /content/stylegan/
You should see something like this
config.py              LICENSE.txt             run_metrics.py
dataset_t
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值