实现CycleGAN对图片进行风格转换
参考官方源码:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
常见问题参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/qa.md
1、前提条件
(1)系统软件
- Linux或macOS或Windows(亲测在windows上可以跑通,流程一样)
- Python 3
- CPU或NVIDIA GPU + CUDA CuDNN
(2)安装[PyTorch]0.4+(http://pytorch.org)和其他依赖项(例如,torchvision,visdom和dominate)。
- 对于pip用户,请键入命令:pip install -r requirements.txt
- 对于Conda用户,提供了一个安装脚本./scripts/conda_deps.sh。或者可以创建一个新的Conda环境conda env create -f environment.yml。
- 对于Docker用户,提供了预先构建的Docker image和Dockerfile。参考Docker页面。
(3)下载源码
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
2、实现CycleGAN训练/测试:
(1)下载CycleGAN数据集(例如地图maps):使用git bash工具。
bash ./datasets/download_cyclegan_dataset.sh maps
(2)打开visdom模型可视化工具,用于查看训练结果和损失图:单击URL http:// localhost:8097 进行查看。
python -m visdom.server
(3)训练模型:中间结果保存路径:./checkpoints/maps_cyclegan/web/index.html。
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
(4)测试模型:测试结果保存路径:./results/maps_cyclegan/latest_test/index.html。
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
3、使用CycleGAN训练/测试monet2photolittle:
(1)下载CycleGAN数据集中的monet2photo数据集进行修改:
trainA:500张图片,trainB:1500张图片,testA:50张图片,testB:150张图片,
(2)打开visdom模型可视化工具,用于查看训练结果和损失图:单击URL http:// localhost:8097 进行查看。
python -m visdom.server
(3)训练模型:中间结果保存路径:./checkpoints/monet2photolittle_cyclegan/web/index.html。
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/monet2photolittle --name monet2photolittle_cyclegan --model cycle_gan
(4)测试模型:测试结果保存路径:./results/monet2photolittle_cyclegan/latest_test/index.html。
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/monet2photolittle --name monet2photolittle_cyclegan --model cycle_gan
(5)部分训练测试结果:real_A:输入x,fake_B:生成G(x),rec_A:重建F(G(x))。