Zhu、Parkらによって2017年に提案されたCycleGANをインストールしたときのメモ。上の写真は、左が元画像で、右がCycleGANによって生成された画像。CycleGANはPix2Pixとは違いペアとなる学習データセットなしで、画像を変換することができるところが凄い。これにより、学習データセットを作成するコストが大きく削減される。詳細については以下の論文とウェブサイトをご覧ください。
サイト
論文
- Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks.
Jun-Yan Zhu*, Taesung Park*, Phillip Isola, Alexei A. Efros. In ICCV 2017
インストール
cd ~/src
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
pip3 install -r requirements.txt
学習とテスト
- データセットのダウンロード
bash ./datasets/download_cyclegan_dataset.sh maps
- 結果の表示。以下のコマンドを実行し、このURL http://localhost:8097をクリックする。
python3 -m visdom.server
- 学習
- GPUが1個の場合
python3 train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
- GPUが2個の場合
python3 train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan --gpu_ids 0,1 --batch_size 32
- GPUが1個の場合
- テスト
python3 test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
- テストの結果は以下のファイルに保存される。
./results/maps_cyclegan/latest_test/index.html
学習済みモデルの適用
- 学習済みモデルのダウンロード
bash ./scripts/download_cyclegan_model.sh horse2zebra
- 学習済みモデルは以下の保存される。
./checkpoints/{name}_pretrained/latest_net_G.pth
- テスト用のデータセットのダウンロード
bash ./datasets/download_cyclegan_dataset.sh horse2zebra
- テスト
python3 test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout
- ここで、
--model test
はCycleGANの一方向だけの結果を生成する。両方向必要な場合は、--model cycle_gan
にする。 - テストの結果は./results以下に保存される。上の写真は結果の一部。
以上
コメント