pytorch-CycleGAN-and-pix2pix
環境要求
-
Linux(ubuntu 16.04)
-
python3.5
-
Nvidia GPU 1080
-
Cuda8.0
-
Cudnn6.0
-
pytorch搭建比較簡單,看這個博客
安裝
- Install PyTorch 0.4, torchvision, and other dependencies from http://pytorch.org
- 安裝 visdom and dominate.
pip install visdom dominate
- 以下命令安裝所有的依賴
pip install -r requirements.txt
- 下載庫
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
cd pytorch-CycleGAN-and-pix2pix
- conda可以用以下命令進行安裝環境依賴
./scripts/conda_deps.sh
Train
用已有數據集訓練
- 用下載腳本進行下載maps數據集:
bash ./datasets/download_cyclegan_dataset.sh maps
- Train a model:
#!./scripts/train_cyclegan.sh
python train.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
- 查看訓練結果以及loss
運行python -m visdom.server並單擊URL http:// localhost:8097(端口號可以通過-p來指定)。要查看更多中間結果,請查看./checkpoints/maps_cyclegan/web/index.html
Test
- 測試模型:
#!./scripts/test_cyclegan.sh
python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
測試結果將保存到html文件中:./results/maps_cyclegan/latest_test/index.html。
預訓練模型
-
--model test僅用於為一側生成CycleGAN的結果。python test.py --model cycle_gan將需要在兩個方向上加載和生成結果,這有時是不必要的。結果將保存在./results/。使用--results_dir {directory_path_to_save_result}指定的結果目錄。 -
如果您想將預先訓練的模型應用於輸入圖像集合(而不是圖像對),請使用
--dataset_mode single和--model test選項。這是一個將模型應用於Facade標簽貼圖(存儲在目錄中facades/testB)的腳本。#!./scripts/test_single.sh python test.py --dataroot ./datasets/facades/testB/ --name {your_trained_model_name} --model test
訓練與測試自己的數據集
訓練自己的數據集需要在數據集文件夾下創建兩個文件夾trainA 和trainB,這兩個文件夾包含的圖片是來自於A和B兩個域。
你可以在你的訓練設定設定測試模型--phase train在test.py。您還可以創建子目錄testA和testB,如果你有測試數據。
- 打開visdom服務器
source activate pytorch
pip install visdom dominate
python -m visdom.server
# 如果端口沖突,則用-p進行端口的指定
- 訓練
source activate pytorch
python train.py --dataroot ./datasets/cow2 --name cow2_cyclegan --model cycle_gan
遇到的問題
來自:@luyue
出現的問題:
①導入torch出錯
是anaconda的問題,解決辦法
cp /usr/lib/x86_64-linux-qnu/libgomp.so.1 /home/learner/anaconda3/lib/libgomp.so.1
cp /usr/lib/x86_64-linux-qnu/libstdc++.so.6 /home/learner/anaconda3/lib/libstdc++.so.6
②可視化界面 python -m visdom.server出錯(安裝使用visdom)
其實還可以用 python -m visdom.server -p 8097
最開始打不開,是由於google沒有連接上網
連接網絡后打開空白,然后打開另外一個命令行運行自己的py文件
然后返回瀏覽器可以看到可視化界面
