如何使用ssd訓練自己的數據(windows下)

可以參照前一篇文章配置windows下的ssd,本文假設ssd已經通過windows下的編譯。

1.準備數據

需要根據PASCAL VOC格式 準備對應的數據,推薦一個好用的貼標籤軟件(https://github.com/tzutalin/labelImg)

拿VOC2012爲例,VOC2012目錄下需要Annotations、ImageSets、JPEGImages文件夾,Annotations存儲對應的標籤xml信息,JPEGImages存儲圖片數據,ImageSets 主要使用Main文件夾下的數據,Main文件夾保存了對應的訓練、驗證數據集的txt文本

然後使用caffe-ssd-microsoft\data\VOC0712目錄下create_data.bat來生成所需要的lmdb文件(create_data.bat根據實際情況修改內容)


caffe-ssd-microsoft\data\VOC0712目錄下get_image_size.bat用於生成test.txt中對應圖片的大小映射,生成的結果寫入test_name_size.txt

對於後面的訓練需要準備以下文件:

test.txt  用於測試的文件集定義

labelmap_voc.prototxt   標籤定義文件

test_name_size.txt 測試圖片大小定義文件(可通過get_image_size.bat生成)

trainval.txt 訓練驗證集文件定義(數據排列爲亂序,可根據實際情況設定)


train.prototxt  訓練網絡定義文件
test.prototxt    測試網絡定義文件
deploy.prototxt    部署定義文件
solver.prototxt    訓練配置文件


2.修改訓練文件

caffe-ssd-microsoft\examples\ssd下的ssd_pascal.bat是用來訓練數據用的程序(它是調用ssd_pascal.py運行的,ssd_pascal.py用來配置整個的訓練環境),因爲windows下的對 路徑和linux的不同,所以對應的windows下需要找到ssd_pascal.py對應的內容進行修改:

train_data = "{}/data/VOC0712/trainval_lmdb".format(caffe_root)
test_data = "{}/data/VOC0712/test_lmdb".format(caffe_root)
save_dir = "{}/models/VGGNet/VOC0712/{}".format(caffe_root,job_name)
snapshot_dir = "{}/models/VGGNet/VOC0712/{}".format(caffe_root,job_name)
job_dir = "{}/jobs/VGGNet/VOC0712/{}".format(caffe_root,job_name)
output_result_dir = "{}/data/VOC0712/results/{}/Main".format(caffe_root,job_name)
name_size_file = "{}/data/VOC0712/test_name_size.txt".format(caffe_root)
pretrain_model = "{}/models/VGGNet/VGG_ILSVRC_16_layers_fc_reduced.caffemodel".format(caffe_root)
label_map_file = "{}/data/VOC0712/labelmap_voc.prototxt".format(caffe_root)
f.write('{}\Build\{}\Debug\caffe train ^\n'.format(caffe_root,'x64'))

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