本次主題是以colab的環境進行學習的,在本篇文章中,我將講解影像辨識的基礎技能在接下來的文章中這些技能將多次出現,先讀過這些語法再繼續去看後面的文章會比較能快速上手喔。依照進度每個禮拜都會記錄不同的影像辨識方法,基本順序會從:
資料集準備:
本次使用的資料集是Kaggle上面的edges2handbag,這個資料庫不是我自己的喔,由於是使用colab的關係所以要先把資料集上傳到Google雲端上,方便colab抓取資料集內容。
資料集的資料夾格式如下:
如圖:
資料夾內容:
雲端硬碟掛載:
from google.colab import drive
drive.mount('/content/drive')
模型訓練:
將雲端硬碟掛載好之後,我們就可以開始訓練模型了。後面文章會再補充模型的介紹以及模型的堆疊。在訓練好模型之後我們會將模型儲存到雲端硬碟,方便下次直接使用模型。
import os
os.chdir('/content/pytorch-CycleGAN-and-pix2pix/')
!git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
!pip install -r requirements.txt
!bash ./datasets/download_pix2pix_dataset.sh edges2handbag
! python train.py --dataroot ./datasets/edges2handbag --name ro_train --model pix2pix --lr_policy step --n_epochs -99 --direction AtoB
訓練完成後成果圖:
將雲端硬碟掛載好之後,我們先載入上次訓練的模型。
模型載入及預測:
import shutil
source_file = '/content/drive/MyDrive/Colab_Notebooks/checkpoints/ROAD_pix2pix/ro_train/latest_net_G.pth'
target_directory = '/content/pytorch-CycleGAN-and-pix2pix/checkpoints/ro_train/'
shutil.copy(source_file, target_directory)
source_file = '/content/drive/MyDrive/Colab_Notebooks/checkpoints/ROAD_pix2pix/ro_train/latest_net_D.pth'
target_directory = '/content/pytorch-CycleGAN-and-pix2pix/checkpoints/ro_train/'
shutil.copy(source_file, target_directory)
! python test.py --dataroot ./datasets/edges2handbag/val/ --name ro_train --direction AtoB --num_test 360 --output_nc 3 --model pix2pix --results_dir /content/drive/MyDrive/result/pub
預測結果感覺不佳主要原因是因為訓練次數不夠,可以自行增加訓練次數,效果應該會更好。
如果實際預測上遇到甚麼問題或是error的話歡迎丟到留言區討論喔!
文章主題一覽:
粗體字為額外更新的文章。