caffe + ssd網絡訓練過程


參考博客:https://blog.csdn.net/xiao_lxl/article/details/79106837

1獲取源代碼:git clone https://github.com/weiliu89/caffe.git
2 進入目錄中 :cd caffe

3,git checkout ssd

主要參考 https://github.com/weiliu89/caffe/tree/ssd

    獲取SSD的代碼,下載完成后有一個caffe文件夾

git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd

    1
    2
    3

    進入下載好的caffe目錄,復制配置文件

cd caffe
cp Makefile.config.example Makefile.config

    1
    2

編譯caffe

make all  -j8  //-j16根據本機的處理器配置,16是16核處理器的意思
make pycaffe -j8
make test -j8
make runtest -j8(這一步不是必須的)

    1
    2
    3
    4

下載預訓練模型 鏈接:鏈接:https://pan.baidu.com/s/1o9c0GGU 密碼:fucx,將它放入caffe/models/VGGNet/目錄下

下載VOC2007和VOC2012數據集,放到/caffe/data下,並解壓

cd data
wget  http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar

    1
    2
    3
    4
    5
    6
    7

將圖片轉化為LMDB文件,用於訓練,在caffe目錄下

cd ..
cd caffe
./data/VOC0712/create_list.sh  
./data/VOC0712/create_data.sh

    1
    2
    3
    4

訓練模型
在下載的caffe根目錄執行如下命令訓練,在examples/ssd下存在幾個.py文件,訓練的時間較長。

python examples/ssd/ssd_pascal.py

    1

實驗效果
(1)在圖片測試集上測試

python examples/ssd/score_ssd_pascal.py

    1

2)在視頻上測試

   python examples/ssd/ssd_pascal_video.py

    1

3)在攝像頭上測試

   python examples/ssd/ssd_pascal_webcam.py

    1

報錯問題解決以及填坑筆記:

1. 報錯:no module named caffe等錯誤

這是由於caffe的Python環境變量未配置好,可按照下面方法解決:

確保先重新make下pycaffe,然后 將python的路徑配置到環境變量中
make pycaffe -j8

gedit /etc/profile

gedit ~/.bashrc
vim ~/.bashrc
加入 export PYTHONPATH=/SSD所在目錄/caffe/python
source ~/.bashrc

2. 配置SSD-caffe測試時出現“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解決

運行 python examples/ssd/ssd_pascal.py 時報錯

解決方案:這是由於GPU數量不匹配造成的,如果訓練自己的數據,那么我們只需要將solver.prototxt文件中的device_id項改為自己的GPU塊數,一塊就是0,兩塊就是1,以此類推。

但是SSD配置時的例子是將訓練語句整合成一個python文件ssd_pascal.py,所以需要改此代碼。相關配置訓練方法請參看轉載博文:http://blog.csdn.net/xunan003/article/details/78427446

解決方法:將ssd_pascal.py文件中第332行gpus = “0,1,2,3”的GPU選擇改為gpus = “0”,后面的1,2,3都刪掉即可。再次訓練即可。

當然,由於博主只有一塊GPU且電腦運行內存有限,還需要將ssd_pascal.py文件中的337行batch_size = 32和338行accum_batch_size = 32都改小一倍,即更改批量大小,不然會出現“Check failed: error == cudaSuccess (2 vs. 0) invalid …”的錯誤。

3. 配置SSD-caffe出現“ AttributeError: ‘module’ object has no attribute ‘LabelMap’”解決

這是由於caffe的Python環境變量未配置好,可按照下面方法解決:
gedit ~/.bashrc
加入 export PYTHONPATH=/SSD所在目錄/caffe/python
source ~/.bashrc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM