日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu 16.04下Caffe-SSD的应用(二)——准备与处理VOC2007数据集

發布時間:2025/3/21 Ubuntu 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu 16.04下Caffe-SSD的应用(二)——准备与处理VOC2007数据集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  • 前面已經介紹如何在Ubuntu上編譯Caffe-SSD的CPU版本,那接下來就試一下用Caffe-SSD訓練數據得到模型,并對模型進行測試。
  • 我配置的環境是Ubuntu 16.04 LST 64位,Qt5.9,Python2.7,Caffe-SSD,因為只跑CPU版本,所以沒有配置CUDA庫。
  • 一、數據準備

    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.解壓這三個文件,按以下的順序解壓

    tar -xvf VOCtrainval_11-May-2012.tar tar -xvf VOCtrainval_06-Nov-2007.tar tar -xvf VOCtest_06-Nov-2007.tar

    解壓完之后,在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

    cd VOCdevkit/VOC2007/ sudo gedit create_list.sh

    更改create_list.sh的文件內容,總共要修改三個位置。
    更改根目錄

    #root_dir=$HOME/data/VOCdevkit/ #更改為 root_dir=/home/matt/caffe-ssd/data/VOCdevkit/

    更改數據來源

    #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目錄下終端輸入

    sudo gedit create_list.sh

    更改create_data.sh的文件內容,總共要修改五個位置。

    更改根路徑

    root_dir=$cur_dir/../..

    改成:

    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數據

    sudo ./create_data.sh

    有可能會報這個錯誤

    ./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的編譯路徑中。
    第一種解決辦法是把路徑添加上,我的環境下終端運行,這個要每次要運行該腳本都要添加

    export PYTHONPATH=/home/matt/caffe-ssd/python:$PYTHONPATH

    第二辦法是直接更改/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数据集的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。