Cycleganの清潔で読みやすいPytorch実装(https://arxiv.org/abs/1703.10593)
コードはPython 3.6.xで動作することを目的としており、以前のバージョンではテストされていません
現在のセットアップについては、pytorch.orgの指示に従ってください
損失グラフをプロットし、素敵なWebブラウザビューで画像を描画する
pip3 install visdom
まず、データセットをダウンロードしてセットアップする必要があります。最も簡単な方法は、UC Berkeleyのリポジトリに既存のデータセットの1つを使用することです。
./download_dataset <dataset_name>
有効な<dataset_name> ase:apple2orange、summer2winter_yosemite、horse2zebra、monet2photo、cezanne2photo、ukiyoe2photo、vangogh2photo、マップ、都市慣習、facades、iphone2dslr_flower、ae_photosos
または、次のディレクトリ構造を設定することにより、独自のデータセットを構築できます。
.
├── datasets
| ├── <dataset_name> # i.e. brucewayne2batman
| | ├── train # Training
| | | ├── A # Contains domain A images (i.e. Bruce Wayne)
| | | └── B # Contains domain B images (i.e. Batman)
| | └── test # Testing
| | | ├── A # Contains domain A images (i.e. Bruce Wayne)
| | | └── B # Contains domain B images (i.e. Batman)
./train --dataroot datasets/<dataset_name>/ --cuda
このコマンドは、Cycleganの著者によると、最良の結果を示したハイパーパラメーターを使用して、DataRoot/Train Directoryの下の画像を使用してトレーニングセッションを開始します。これらのハイパーパラメーターを自由に変更できます。それらの説明については、 ./train --helpを参照してください。
ジェネレーターと判別器の両方のウェイトは、出力ディレクトリの下で保存されます。
GPUを所有していない場合は、-CUDAオプションを削除しますが、入手することをお勧めします。
また、別の端末でpython3 -m visdomを実行し、お気に入りのWebブラウザでhttp:// localhost:8097/を開くことにより、トレーニングの進行状況とライブ出力画像を表示することもできます。これにより、以下に示すようにトレーニングの損失の進行が生成されるはずです(デフォルトのパラマ、Horse2Zebra Dataset):





./test --dataroot datasets/<dataset_name>/ --cuda
このコマンドは、 DataRoot/Test Directoryの下に画像を撮影し、ジェネレーターを介して実行し、出力/aおよび出力/Bディレクトリの下の出力を保存します。列車と同様に、荷重の重みなどのパラメーターを調整できます。詳細については、 ./test --helpを参照してください。
生成された出力の例(デフォルトのParams、Horse2zebra Dataset):




このプロジェクトはGPL V3ライセンスに基づいてライセンスされています - 詳細については、license.mdファイルを参照してください
コードは基本的に、Pytorch-Cyclegan-and-Pix2pixのよりクリーンであまり不明瞭な実装です。すべてのクレジットは、Cyclegan、Zhu、Jun-Yan and Park、Taesung and Isola、Phillip and Efros、Alexei Aの著者に送られます。