/cyclegan

⛏️Use CycleGAN

Primary LanguagePython

CycleGAN and pix2pix in PyTorch

1、Notebook教程

PyTorch Colab notebook教程: CycleGANpix2pix

2、环境要求

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

3、开始实用

3.1、安装

  • 克隆本仓库:
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
  • Install PyTorch and 0.4+ and other dependencies.
    • For pip users, please type the command pip install -r requirements.txt.
    • For Conda users, you can create a new Conda environment using conda env create -f environment.yml.

3.2、CycleGAN训练和测试

  • 下载一个CycleGAN数据集:
bash ./datasets/download_cyclegan_dataset.sh maps
  • 查看训练结果和损失图, 玉兴 python -m visdom.server 并且点击打开 URL http://localhost:8097.
  • 将训练进度和测试图像记录到W&B仪表板上, 设置 --use_wandb 带有训练和测试脚本的标志
  • 训练模型:
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

要看到更多的中间结果, 查看 ./checkpoints/maps_cyclegan/web/index.html.

  • 测试模型:
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
  • 测试结果将被保存在这里的一个html文件中: ./results/maps_cyclegan/latest_test/index.html.

3.3、pix2pix训练和测试

  • 下载一个pix2pix数据集:
bash ./datasets/download_pix2pix_dataset.sh facades
  • 查看训练结果和损失图, 运行 python -m visdom.server 并且点击打开URL http://localhost:8097.
  • 将训练进度和测试图像记录到W&B仪表板上, 设置 --use_wandb 带有训练和测试脚本的标志
  • 训练模型:
#!./scripts/train_pix2pix.sh
python train.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

要看到更多的中间结果, 查看 ./checkpoints/facades_pix2pix/web/index.html.

  • 测试模型 (bash ./scripts/test_pix2pix.sh):
#!./scripts/test_pix2pix.sh
python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA
  • 测试结果将被保存在这里的一个html文件中: ./results/facades_pix2pix/test_latest/index.html. 你可以在scripts目录下找到更多的脚本。
  • 为了训练和测试基于pix2pix的着色模型,请添加--model colorization--dataset_mode colorization。 查看我们的训练 tips 关于更多细节.

3.4、使用预训练模型 (CycleGAN)

  • 你可以用下面的脚本下载一个预训练过的模型(如horse2zebra):
bash ./scripts/download_cyclegan_model.sh horse2zebra
  • The pretrained model is saved at ./checkpoints/{name}_pretrained/latest_net_G.pth. Check here for all the available CycleGAN models.
  • 为了测试该模型,你还需要下载horse2zebra数据集。
bash ./datasets/download_cyclegan_dataset.sh horse2zebra
  • 然后用以下方法生成结果
python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout
  • The option --model test is used for generating results of CycleGAN only for one side. This option will automatically set --dataset_mode single, which only loads the images from one set. On the contrary, using --model cycle_gan requires loading and generating results in both directions, which is sometimes unnecessary. The results will be saved at ./results/. Use --results_dir {directory_path_to_save_result} to specify the results directory.

  • 对于pix2pix和你自己的模型,你需要明确指定--netG--norm--no_dropout以匹配训练过的模型的生成器结构。更多细节请看这个FAQ

3.5、使用预训练模型 (pix2pix)

下载预训练模型使用 ./scripts/download_pix2pix_model.sh.

  • Check here for all the available pix2pix models. For example, if you would like to download label2photo model on the Facades dataset,
bash ./scripts/download_pix2pix_model.sh facades_label2photo
  • 下载pix2pix facades数据集
bash ./datasets/download_pix2pix_dataset.sh facades
  • 然后用以下方法生成结果
python test.py --dataroot ./datasets/facades/ --direction BtoA --model pix2pix --name facades_label2photo_pretrained
  • 请注意,我们指定了--direction BtoA,因为Facades数据集的A到B方向是照片到标签。

  • 如果你想把预先训练好的模型应用于输入图像的集合(而不是图像对),请使用--model test选项。参见./scripts/test_single.sh,了解如何将模型应用于Facade标签图(存储在facades/testB目录下)。

  • 请参阅目前可用的模型列表 ./scripts/download_pix2pix_model.sh

3.6、数据集

下载pix2pix/CycleGAN数据集并创建你自己的数据集。

3.7、训练和测试Tips

训练和测试你的模型的最佳做法。

3.8、常见问题

在你发布新问题之前,请先看看上述问答和现有的GitHub问题。

3.9、自定义模型和数据集

如果你打算为你的新应用程序实现自定义模型和数据集,我们提供了一个数据集模板和一个模型模板作为起点。

3.10、Code structure

为了帮助用户更好地理解和使用我们的代码,我们简要地概述了每个包和每个模块的功能和实现。

3.11、参考