目录

Cyclegan介绍

配置简介

一.克隆项目

二.安装必要库

三、下载数据集(如果要自定义训练后面会讲)

四.训练模型

五、自定义训练,使用自己的训练集训练

六、测试cycleGAN

七、总结

八、常见问题


Cyclegan介绍

简介:

        CycleGAN是一种深度学习模型,用于图像转换任务。它可以将一组图像从一个领域转换到另一个领域,而需成对的训练数据。例如,将马的图像转换为斑马的图像,或将夏季景色的图像转换为冬季景色的图像。CycleGAN使用对抗性损失函数和循环一致性损失函数来训练模型,以生成高质量的转换图像。在许多应用中都有用,例如风格迁移、图像翻译和图像增强。

可行度:

        相比其他图像转换模型,CycleGAN 不需要成对的训练数据使得它更容易应用于实际问题中。传统图像转换方法通常需要成对的训练数据,即两个域之间的对应图像,但这种数据往往难以获取和标注。而 CycleGAN 不需要这些成对数据,而是使用两个域中的任意一组数据进行训练,并且可以处理多种输入类型的图像。

        此外,CycleGAN使用对抗性损失函数和循环一致性损失函数来训练模型,以生成高质量的转换图像。这些损失函数可以帮助模型学习到更准确的图像转换,从而生成更真实的转换图像。

前景:

        CycleGAN 的应用领域非常广泛。除了将马的图像转换成斑马的图像或者将夏天的景色转换成冬天的景色等常见的场景外,CycleGAN 还可以应用于其他许多领域。

        一个重要应用是将黑白图像转换成彩色图像。在某些情况下,我们只有黑白图像,但需要具备彩色图像的信息。例如,在历史照片修复中,往往需要将传统的黑白照片转换成彩色照片。使用 CycleGAN 模型,我们可以输入黑白图像即可输出相应的彩色图像。

        此外,CycleGAN 还可以应用于许多其他领域,如图像风格迁移、人脸表情生成、艺术创作等。在服装等行业中,CycleGAN 可以帮助设计师更好地进行样式迁移和快速设计。在建筑和室内设计领域中,CycleGAN 可以帮助设计师快速生成不同风格的房间布局和室内设计效果图。


配置简介

本文根据官方文档的anaconda方式实现

环境要求:

  • Windows
  • Python 3
  • CPU 或 NVIDIA GPU + CUDA CuDNN

我的环境如下:

  • Windows11
  • Python3.8
  • pytorch1.9.0
  • cuda11.1
  • GeForce GTX 3060 Laptop GPU

安装软件环境参考(第一次务必认真安装)


一.克隆项目

        1.打开pycharm,Tools(工具)-> Space(空间)->CloneRepository(克隆存储库)

        2.Repository URL输入github项目URL(获取方式如图)

这里提供俩种URL(有何区别?我的项目吧官方部分代码及readme翻译过,便于小白学习。图示为官网URl)

1:官方URL:https://gitcode.net/mirrors/junyanz/pytorch-cyclegan-and-pix2pix.git

2:我的URL:https://github.com/qianqianlwg/cycleGAN-.git

        3.克隆完毕的路径如下图:(出现“正在创建conda环境”就先看下一步)


二.安装必要库

        这里提供俩种方式(第一种较简单容易出错,第二种更稳定):

        第一种:通过pycharm自动创建conda环境,并根据项目的environment.yml自动更新需要的库。

        实现如下:

        Conda配置文件中输入conda.exe路径,第二行找到克隆项目的environment.yml路径(一般来说pycharm自动输入)。

注意:不知道conda.exe路径?

获取conda.ext路径如下:

        win+R 输入cmd 运行终端输入以下指令:

where conda
或者
where anaconda

正常情况下,等待几分钟就可以配置好。(如果出错就自行解决或者用第二种方法)

        第二种:通过anaconda创建环境,自行pip安装库。

实现如下:

        1:打开Anaconda Prompt

        2:conda 创建虚拟环境:

conda create -n pytorch-CycleGAN-and-pix2pix python=3.8

        3:完成后输入进入虚拟环境:conda activate pytorch-CycleGAN-and-pix2pix

      4:cd到项目路径使用相对路径下载需要的库(或者方法二:使用绝对路径通过配置文件(requirement.txt)下载

                方法一:cd到项目路径使用相对路径下载需要的库

                1)找到项目路径:右击项目名称

                2)cd到项目路径下载如下:

                输入指令:

cd [复制的文件路径]
Pip install -r requirements.txt

                方法二:使用绝对路径通过配置文件(requirement.txt)下载如下:

                1)找到绝对路径:右击项目名称

                2)输入指令:

Pip install -r [复制的绝对路径]\requirements.txt

回车之后慢慢等待。ps:如果下载太慢请开魔法或者配置清华镜像源(可参考我老师的教程:【Anaconda 环境管理与包管理】

        现在各种包都安装好了,输入conda list可以列出当前虚拟环境中已安装的所有软件包及其版本号。


三、下载数据集(如果要自定义训练后面会讲)

        1、直接安装官方给的数据集:链接为:CycleGAN官方数据集

        2、下载后解压到项目的datasets目录下

           ps:数据集位置可自定义


四.训练模型

        1、train.py文件配置

        第一次配置文件需要先运行train.py,这时会报错,终止运行即可。

       这时候右上角从无文件转变为train点击下箭头就可以配置文件了。

        形参里填入:

--dataroot [你训练集tastA的路径] --name [自定义权值保存文件名] --model cycle_gan

​​​​​​​​​​​​​​

 ​​​​​​​        2.修改训练参数如图(可跳过)

        我的显卡是移动端3060,训练官方maps数据集(训练集共2000个图片)速度在每小时10个轮回左右,大家根据自己配置和训练集大小进行调整。

        1)文件配置好后,终端输入 开启visdom服务(可视化界面)

python -m visdom.server

               点击http://localhost:8097 进入网页。​​​​​​​

        2)开启服务后可以直接运行train.py开始训练啦。注意:一般来说绝大部分第一次训练都会报错,报错请看第八章 常见问题第一条

        这时网页开始有界面了,里面可以看见训练过程和参数变化折线图(忘记保存了,所以没图)

        3)训练完成后保存的模型权值在这里


五、自定义训练,使用自己的训练集训练

        1、收集资源后给训练集命名(路径可以不用管,当然也可以向上文一样放在项目的datasets目录里)

  •                 -训练集命名为trainA和trainB
    •                 -测试集命名为tastA和tastB

        我是自定义的位置,操作后如图:

        2、直接设置训练配置文件

        具体和上文train.py配置文件一样,除了训练集路径

        直接训练即可,和上面一样。


六、测试cycleGAN

通过训练后得到的权值文件,我们可以拿来使用了。

        1、找到需要转化的图片集文件名为tastA或者tastB的路径。

        2、设置测试配置文件

        1)和训练配置文件一样,先运行后即可编辑配置文件。

        2)吧你想要使用的权值文件重命名为:latest_net_G.pth、

  •         测试testA就改latest_net_G.pth
    •         测试testB就改latest_net_G.pth

​​​​​​​​​​​​​​

        3)直接运行test.py开始生成图片

        如图成功:

此时项目会生成一个results的文件,Images里面包含了生成图片。

通过打开html文件可以在浏览器查看:

如图可知,生成成功。


七、总结

        本文介绍了CycleGAN的基本概念和应用领域,并详细介绍了如何进行配置、测试和自定义训练。在配置部分,我们通过anaconda环境创建、安装必要库和下载数据集。在训练模型部分,我们介绍了train.py文件配置、修改训练参数以及如何开启visdom服务。在自定义训练部分,我们介绍了如何给自己的训练集命名、设置训练配置文件并直接训练。在测试CycleGAN部分,我们介绍了如何使用已训练好的权值文件和测试配置文件,并生成图片。


八、常见问题

  • cuda和torch版本不对应

 解决方法:

        方法一:更新torch到cuda匹配版本(原项目有点老,30系显卡都不支持,大家配置基本都有这个问题)

        方法二:重装torch和cuda(我的torch1.9.0  cuda11.1)

  • 没有开启visdom服务就开始训练

  解决方法:终端输入指令:

python -m visdom.server
  •  运行显示:"no module named XXX"

这是因为安装库的时候没有装全。

解决方法:缺乏哪个库就重新装哪个库

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐