1. 程式人生 > >SSD訓練自己的資料集

SSD訓練自己的資料集

詳細參考 Github上SSD教程:https://github.com/weiliu89/caffe/tree/ssd

blog.csdn.net/lk123400/article/details/61191239

測試及視覺化參考http://blog.csdn.net/jesse_mx/article/details/52965281

http://www.cnblogs.com/EstherLjy/p/6863890.html

檢測目標,輸出文字資訊:

./.build_release/examples/ssd/ssd_detect.bin models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_10000.caffemodel /home/wjt/my_work/ssd/caffe/data/test_image/test_image.txt

在影象上標註目標:

python examples/ssd/plot_detections.py /home/wjt/my_work/ssd/caffe/data/test_result/test_result.txt /home/wjt/my_work/ssd/caffe/ --labelmap-file data/VOC0712/labelmap_voc.prototxt --save-dir data/test_result --visualize-threshold 0.6

注:注意路徑設定

問題彙總:

1.  No such file

./data/VOC0712/create_list.sh 出錯

原因及解決方法:資料集位置沒放置正確,將資料集按照源指令碼檔案說明的位置(/home/data/)放置,或者修改指令碼檔案中

2. ImportError:No module named _caffe (或者caffe.proto)

./data/VOC0712/create_data.sh
原因及解決方法:環境變數中python路徑沒有設定正確,要將PYTHONPATH設定為SSD中caffe目錄下的python,修改“~./bashrc”檔案,加上python路徑,並source一下即可解決

3.  checked failed: num_test_image_ <= names_.size() (4952 vs. 117)

原因及解決方法:ssd_pascal.py檔案中num_test_image引數沒有修改,將其修改為實際的117,同時還要修改的引數為num_classes,參考教程blog.csdn.net/lk123400/article/details/61191239

4. 訓練時loss=nan

原因及解決方法:由ssd_pascal.py執行生成的solver.prototxt中顯示的學習率base_lr=0.001,在ssd_pascal.py檔案中將base_lr設定為0.0001,loss變為正常數值

5. 中斷訓練再次訓練時,顯示 libcudart.so.8.0: canot open chared object file: No such file or directory

sudo ldconfig /usr/local/cuda/lib64

6. 訓練時出現 Check fialed: error == cudaSuccess(2 vs. 0)out of memory

原因及解決方法:GPU視訊記憶體被程式佔用或者之前的程序沒有正常結束,佔用著GPU視訊記憶體,使得用GPU訓練時視訊記憶體不足,用nvidia-smi命令檢視佔用視訊記憶體的程序PID,用kill -9 [PID]強制殺死程序。