Ubuntu 16.04下Caffe-SSD的应用(二)——准备与处理VOC2007数据集
前言
一、數據準備
1.下載VOC2007和VOC2012數據集
cd caffe-ssd/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下載完之后,在caffe-ssd/data文件夾下多了三個文件
2.解壓這三個文件,按以下的順序解壓
解壓完之后,在caffe-ssd/data目錄下多了一個文件夾
二、更改腳本
1.從VOC0712這個目錄下復制文件過剛剛解壓出來的數據目錄
cd caffe-ssd/data cp VOC0712/create_list.sh VOCdevkit/VOC2007/ cp VOC0712/create_data.sh VOCdevkit/VOC2007/ cp VOC0712/labelmap_voc.prototxt VOCdevkit/VOC2007/在VOCdevkit/VOC2007目錄下多了三個文件
其中create_list.sh 是生成對應的列表文件,create_data.sh是把圖像數據轉換成caffe可識別的數據LMDB,labelmap_voc.prototxt 是放著對應的標簽的名字。
2.更改配置文件的相關路徑,因為data目錄不是放在根目錄上,所要更改相關路徑。
(1)更改create_list.sh
更改create_list.sh的文件內容,總共要修改三個位置。
更改根目錄
更改數據來源
#for name in VOC2007 VOC2012#更改為 for name in VOC2007更改get_image_size路徑
#$bash_dir/../../build/tools/get_image_size $root_dir $dst_file $bash_dir/$dataset"_name_size.txt" #更改為 /home/matt/caffe-ssd/build/tools/get_image_size $root_dir $dst_file $bash_dir/$dataset"_name_size.txt"(2)更改create_data.sh文件
在VOC2007目錄下終端輸入
更改create_data.sh的文件內容,總共要修改五個位置。
更改根路徑
改成:
root_dir=/home/matt/caffe-ssd更改數據路徑:
data_root_dir="$HOME/data/VOCdevkit" dataset_name="VOC0712" mapfile="$root_dir/data/$dataset_name/labelmap_voc.prototxt"改成:
data_root_dir="/home/matt/caffe-ssd/data/VOCdevkit" dataset_name="VOC2007" mapfile="$root_dir/data/VOCdevkit/$dataset_name/labelmap_voc.prototxt" anno_type="detection"生成的數據路徑
python $root_dir/scripts/create_annoset.py --anno-type=$anno_type --label-map-file=$mapfile --min-dim=$min_dim --max-dim=$max_dim --resize-width=$width --resize-height=$height --check-label $extra_cmd $data_root_dir $root_dir/data/$dataset_name/$subset.txt $data_root_dir/$dataset_name/$db/$dataset_name"_"$subset"_"$db examples/$dataset_name改成:
python $root_dir/scripts/create_annoset.py --anno-type=$anno_type --label-map-file=$mapfile --min-dim=$min_dim --max-dim=$max_dim --resize-width=$width --resize-height=$height --check-label $extra_cmd $data_root_dir $root_dir/data/VOCdevkit/$dataset_name/$subset.txt $data_root_dir/$dataset_name/$db/$dataset_name"_"$subset"_"$db examples/$dataset_name三、處理數據
1.運行create_list.sh腳本
sudo ./create_list.sh如果不報錯,在VOC2007目錄下生成三個txt文件
2.運行create_data.sh腳本,生成lmdb數據
有可能會報這個錯誤
./create_data.sh: 1: ./create_data.sh: Bad substitution Traceback (most recent call last):File "/home/matt/caffe-ssd/scripts/create_annoset.py", line 7, in <module>from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto Traceback (most recent call last):File "/home/matt/caffe-ssd/scripts/create_annoset.py", line 7, in <module>from caffe.proto import caffe_pb2 ImportError: No module named caffe.proto這種情況一般是沒有把caffe中的和python相關的內容的路徑添加到python的編譯路徑中。
第一種解決辦法是把路徑添加上,我的環境下終端運行,這個要每次要運行該腳本都要添加
第二辦法是直接更改/home/matt/caffe-ssd/scripts/create_annoset.py,在源碼里添加自己的python的路徑
sys.path.insert(0,'/home/matt/caffe-ssd/python')更改前
添加之后
再次運行成功,在VOC2007目錄下多了一個lmdb的目錄
結語
1.如是以上腳本全部運行成功,之后就是開始訓練模型了。
2.關于運行以上腳本的問題,都可以加這個群(487350510)互相討論學。
總結
以上是生活随笔為你收集整理的Ubuntu 16.04下Caffe-SSD的应用(二)——准备与处理VOC2007数据集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu 16.04下Caffe-S
- 下一篇: Ubuntu 16.04下Caffe-S