Cyclegan的干淨可讀的Pytorch實現(https://arxiv.org/abs/1703.10593)
代碼旨在與Python 3.6.x合作,尚未對其先前版本進行測試
按照pytorch.org中的說明進行當前設置
繪製丟失圖並在漂亮的Web瀏覽器視圖中繪製圖像
pip3 install visdom
首先,您需要下載並設置數據集。最簡單的方法是使用加州大學伯克利分校存儲庫上已經存在的數據集之一:
./download_dataset <dataset_name>
有效<DataSet_name>是:Apple2Orange,Summer2Winter_yosemite,Horse2zebra,Monet2Photo,Cezanne2Photo,Ukiyoe2photo,Vangogh2Photo,Maps,Maps,Maps,CityScapes,CityScapes,Facades,Facades,iphone2dsdsl_flower,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos
另外,您可以通過設置以下目錄結構來構建自己的數據集:
.
├── 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
該命令將使用DataRoot/Train目錄下的圖像開始培訓會話,並使用超參數顯示出最佳成績,根據Cyclegan的作者。您可以自由更改那些超參數,請參閱./train --help ,以獲取對這些的描述。
發電機和判別器的權重將在輸出目錄下保存。
如果您沒有GPU刪除-cuda選項,儘管我建議您獲得一個!
您還可以通過在另一個終端中運行python3 -m visdom並打開http:// localhost:8097/在您喜歡的Web瀏覽器中,通過運行Python3 -m vistom來查看訓練進度以及實時輸出圖像。如下所示,這應該產生訓練損失進度(默認參數,horse2zebra數據集):





./test --dataroot datasets/<dataset_name>/ --cuda
此命令將在DataRoot/Test目錄下進行圖像,將它們運行到發電機中,然後在輸出/A和輸出/B目錄下保存輸出。與火車一樣,可以調整一些參數,例如要加載的權重,請參閱./test --help以獲取更多信息。
生成的輸出的示例(默認參數,Horse2zebra數據集):




該項目已根據GPL V3許可證獲得許可 - 有關詳細信息,請參見許可證文件。
代碼基本上是Pytorch-Cyclegan和Pix2Pix的更乾淨且不明顯的實現。全部歸功於Cyclegan,Zhu,Jun-Yan和Park,Taesung和Isela,Phillip和Efros,Alexei A.的作者。