天天看點

Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

前言

1.經過運作前面的腳本,在Caffe-ssd/data/VOCdevkit/VOC2007/lmdb目錄内應該生成了:VOC2007_test_lmdb 和 VOC2007_trainval_lmdb兩個檔案夾。

2.那之後就開始到訓練過程,訓練所調用的是python examples/ssd/ssd_pascal.py的腳本。

3.我配置的環境是Ubuntu 16.04 LST 64位,Qt5.9,Python2.7,Caffe-SSD,因為隻跑CPU版本,是以沒有配置CUDA庫。

一、訓練準備

1.下載下傳預訓練模型VGG_ILSVRC_16_layers_fc_reduced.caffemode,在caffe上-ssd/models下建立一個VGGNet的目錄,并把下載下傳好的檔案放進去。

Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

2.更改資料檔案的權限,如不更改可能在訓練過程中報錯。

cd caffe/data/VOCdevkit/
sudo chmod -R 777 VOC2007
           

二、修改ssd_pascal.py腳本

1.打開/home/matt/caffe-ssd/examples/ssd目錄下ssd_pascal.py的腳本,在第import caffe前面加上python的環境路徑,如果不加,運作中可能會報找不到caffe的錯誤,(路徑換成自己的路徑,下面有關路徑的都要注意這點)。

import sys
sys.path.insert(0,'/home/matt/caffe-ssd/python')
           
Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

2.把訓練和測試的資料路徑改成前面生成的lmdb路徑。

train_data = "/home/matt/caffe-ssd/data/VOCdevkit/VOC2007/lmdb/VOC2007_trainval_lmdb"
test_data = "/home/matt/caffe-ssd/data/VOCdevkit/VOC2007/lmdb/VOC2007_test_lmdb"
           
Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

3.更改測試的txt路徑,預訓練模型路徑,标簽路徑。

name_size_file = "/home/matt/caffe-ssd/data/VOCdevkit/VOC2007/test_name_size.txt"
pretrain_model = "/home/matt/caffe-ssd/models/VGGNet/VGG_ILSVRC_16_layers_fc_reduced.caffemodel"
label_map_file = "/home/matt/caffe-ssd/data/VOCdevkit/VOC2007/labelmap_voc.prototxt"
           
Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

4.因為是CPU版本,去掉去GPU相關的設定。

Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型
Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

5.更改疊代次數,如果不更改,原本的參數是10000多代,光CPU要跑好多天,這裡隻是把訓練流程介紹清楚而已,我改成200代。

Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

三、開始訓練

把ssd_pascal.py更改好,儲存退出。把目錄切到caffe-ssd/,運作ssd_pascal.py。

cd caffe-ssd/
python ./examples/ssd/ssd_pascal.py
           

如果不報錯,會一直在訓練,直到訓練完成,會在相關的路徑生成訓練好的模型。

Ubuntu 16.04下Caffe-SSD的應用(三)——訓練VOC2007資料生成模型

四、測試模型

繼續閱讀