訓練與測試CycleGAN

使用cycle進行數據集的風格轉換,也即數據集的domain transferring ,使用的代碼地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

訓練過程

按照README進行代碼的下載,環境搭建,數據集準備,沒有什麼大問題,這裏略過 接下來以gta到cityscapes爲例進行說明:

訓練腳本:

python train.py --dataroot 準備的數據集的跟目錄 --name sim2cs --load_size 1024 --crop_size 400 --preprocess scale_width_and_crop --lambda_identity 1 --n_epochs 40 --n_epochs_decay 40 

參數說明:
--name 代表訓練的名稱 這裏使用的是 sim2cs
--preprocess 預處理方式

由於其他原因中斷,繼續訓練的腳本,在原來的腳本後面加 參數 --continue_train --epoch_count 47,其中 epoch_count爲繼續訓練開始的epoch數 訓練結束後,會在checkpoints文件夾生成 sim2cs的一系列的checkpoint以及latest的模型。

測試過程

測試過程可以使用--model 爲 cycle_gan或者是 test ,這裏使用的是test,更方便數據集的生成。 需要注意的是: --model 爲test的時候加載的latest_net_G.pth,而不是在訓練的過程中的latest_net_G_A.pth或者是latest_net_G_B.pth,因此,需要將latest_net_G_A/B.pth重命名爲latest_net_G.pth進行A-->B或者是B-->A的圖像生成。

這裏爲了方便,我在checkpoints文件夾下面分別建立了sim10k2cs和cs2sim10k來分別存儲各自的latest_net_G.pth,分別重命名自 latest_net_G_A.pth和latest_net_G_B.pth。

至此,sim2cs的test腳本,從gta生成的cityscapes的腳本如下:

python test.py --dataroot 準備數據集的root/testA --model test --name sim10k2cs --process none --dataset_mode single --no_drop

從cs2sim,從cityscapes生成gta的腳本如下:

python test.py --dataroot 準備數據集的root/testB --model test --name cs2sim10k --process none --dataset_mode single --no_drop 

因爲需要生成與原圖片一樣大小的圖片,這裏--preprocess的參數爲none,表示輸入圖像不進行resize等處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章