PaddlePaddle Pyramidbox模型訓練手冊

參考文檔:https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/face_detection

1數據準備
(示例:WIDERFACE官網下載數據和標註信息,訓練使用訓練集和驗證集,訓練集3.2w張
圖片)推薦使用1w張以上指定場景640*640以上分辨率圖片進行訓練,所有圖片需要預先
標註人臉信息並存於指定txt文檔中,驗證集使用訓練集1/4數量,驗證集應當使用同場景
的不同圖片。
將準備好的標註數據按需要分類放於data目錄如下:
data
|--download.sh
|--wider_face_split
||--readme.txt
||--wider_face_train_bbx_gt.txt
||--wider_face_val_bbx_gt.txt
|`--...
|--WIDER_train
|`--images
||--0--Parade
|...
|`--9--Press_Conference
`--WIDER_val
`--images
|--0--Parade
...
`--9--Press_Conference
2模型準備
下載caffe預訓練模型,放置於數據目錄:
wgethttp://paddlemodels.bj.bcebos.com/vgg_ilsvrc_16_fc_reduced.tar.gz
tar-xfvgg_ilsvrc_16_fc_reduced.tar.gz&&rm-fvgg_ilsvrc_16_fc_reduced.tar.gz
3開始訓練
train.py是訓練模塊的主要執行程序,地址:
https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/face_detection
調用示例如下:
python-utrain.py--batch_size=16--pretrained_model=vgg_ilsvrc_16_fc_reduced
或者python3-utrain.py--batch_size=16--pretrained_model=vgg_ilsvrc_16_fc_reduced
在train.py文件中編輯訓練參數:其中batch_size爲一次計算的樣本數量,在使用gpu訓練
時設置爲2的冪次方可以發揮最佳的性能,batch_size設置不能太大也不能太小,根據gpu
性能顯卡內存越大可以設置更大的batch_size,計算時間會大幅縮短,通常設置爲16,在使
用cpu進行訓練時只能設爲1-4根據CPU核數否則內存不夠。GPU性能越好能使訓練時間大
幅度縮短。實際工程中batch_size跑一個樣本和幾十個甚至上百個的時間是一樣的(需要
GPU有相應的核心數)。
4注意項:
1)需要預先安裝好paddlepaddle框架,按指定型號系統和機器安裝相應包。參考網站:
https://www.paddlepaddle.org.cn/install/quick
2)reader.py中設置讀取參數:data_dir數據路徑等
3)reader.py中第154行Image.HAMMING屬性不存在刪除;同時修改
第157行爲interp_indx=np.random.randint(0,4)
4)訓練150輪左右可收斂,訓練中觀察loss函數,人臉和頭部loss同時下降則收斂。可選
收斂後數個模型進行使用測試集進行精度比較。測試集應不包含訓練集圖片。
5)GPU必須使用nvidiaGPU支持CUDA,推薦使用nvidia1080或者208011G顯存以上GPU
進行訓練,否則使用CPU進行訓練。

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