CycleGAN的复现和训练自己想要的数据集

CycleGAN:在没有输入-输出成对的情况下学习图像到图像的转换

github地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
上面的是CycleGAN和pix2pix的结合版本 比较容易操作和看懂
原版地址:https://github.com/junyanz/CycleGAN

CycleGAN的复现和训练自己想要的数据集_第1张图片

Prerequisites

Linux or macOS
Python 3
CPU or NVIDIA GPU + CUDA CuDNN

用的是python3.6的环境 每做一个新的工程最好新建一个虚拟环境

conda create -n cyclegan python=3.6

conda activate cyclegan

克隆项目

git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

cd pytorch-CycleGAN-and-pix2pix

pytorch需要0.4+ 根据自己显卡自行安装

安装依赖包

pip install -r requirements.txt

下载数据集

bash ./datasets/download_cyclegan_dataset.sh horse2zebra

建议的是先下载个数据集和预训练模型测试

bash ./datasets/download_cyclegan_dataset.sh horse2zebra

测试

python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout

测试的结果在result文件夹里

如果是想要训练自己的数据集或者用官方给的数据集自己训练一个模型

例如我要训练一个官方给了数据集facades的模型

bash ./datasets/download_cyclegan_dataset.sh facades

python train.py --dataroot ./datasets/facades --name facades_cyclegan --model cycle_gan

训练好了用测试代码测试一下就好了

python test.py --dataroot ./datasets/facades --name facades_cyclegan --model cycle_gan

训练的效果图
CycleGAN的复现和训练自己想要的数据集_第2张图片

遇到的问题

1.CUDA out of memory 这个问题一般是内存不够 或者是cuda版本的问题 这个项目训练的时候默认用第一张卡 显卡多的话可以换卡跑 这个项目对显卡的要求挺大的

2.训练完出现这种问题CycleGAN的复现和训练自己想要的数据集_第3张图片
训练的过程中也可以在result文件夹下的一个web文件下看到训练的效果图 一般都会有大致的模型啥的 20个epoch之后要是还不正常就是有问题 及时停止训练 找原因 我一开始以为是数据集的问题 结果换了两个数据集一直train 浪费半天时间。
解决方法:一开始是用pix2pix训练成功了 然后才去训练的CycleGAN。可能pix2pix训练的时候改了代码还是改了什么东西 导致CycleGAN训练出问题。就重新下载了一下这个项目 直接train了CycleGAN就成功了。

你可能感兴趣的:(pytorch,深度学习,计算机视觉)