天天看點

caffe-ssdUbuntu16.04安裝caffe-ssd

Ubuntu16.04安裝caffe-ssd

1. 準備好caffe環境

1.1 安裝caffe依賴包

# 安裝第三方依賴庫
sudo apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
vim \
git \
wget \
curl \
zip \
liblapack-dev \
liblapack3 \
libatlas-base-dev \
libopenblas-dev \
libboost-all-dev \
libgflags-dev \
libgoogle-glog-dev \
libhdf5-serial-dev \
libleveldb-dev \
liblmdb-dev \
libprotobuf-dev \
libsnappy-dev \
protobuf-compiler \
python-dev \
python-numpy \
python-opencv \
python-scipy
# 删除軟體安裝包
sudo rm -rf /var/lib/apt/lists/*
           
注意:如果出現以下提示“E: 無法獲得鎖 /var/cache/apt/archives/lock - open (11: 資源暫時> 不可用) E: 無法對目錄 /var/cache/apt/archives/ 加鎖”,請删除對應目錄 後再執行apt-get指令
sudo rm -rf /var/cache/apt/archives/lock
           

1.2 安裝pip

# 需要将pip更新到10.0.1版本(使用pip install --upgrade或者pip install -U pip會導緻pip無法使用),否則無法安裝setuptools,更新到10.0.1版本後會自動成功安裝setuptools
# 解除安裝pip(沒有安裝則該以下指令不做任何處理)
sudo apt-get remove -y python-pip
# 官方下載下傳pip安裝檔案(代替sudo apt-get install -y python-pip)
sudo -i
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 
sudo python get-pip.py
sudo rm -rf get-pip.py # 删除pip安裝檔案

# 如果pip有問題
sudo apt autoremove -y python-pip

# pip方式安裝第三方庫
sudo -H pip install Cython \
numpy \
scipy \
scikit-image \
matplotlib \
ipython \
h5py \
leveldb \
networkx \
nose \
pandas \
python-dateutil \
protobuf \
python-gflags \
pyyaml \
Pillow \
six --user

# 也可以按照$CAFFE_ROOT/python/requirements.txt中指定具體版本安裝
pip install Cython==0.19.2 \
numpy==1.7.1 \
scipy==0.13.2 \
scikit-image==0.9.3 \
matplotlib==1.3.1 \
ipython==3.0.0 \
h5py==2.2.0 \
leveldb==0.191 \
networkx==1.8.1 \
nose==1.3.0 \
pandas==0.12.0 \
python-dateutil==2.6.0 \
protobuf==2.5.0 \
python-gflags==2.0 \
pyyaml==3.10 \
Pillow==2.3.0 \
six==1.1.0 --user

           

1.3 安裝OpenCV2.0

sudo -i #切換到root使用者
# Ubuntu16.04預設安裝OpenCV3.0+,需要手動安裝OpenCV2.0
wget -O /opt/opencv2.4.13.6.zip https://github.com/opencv/opencv/archive/2.4.13.6.zip
unzip opencv2.4.13.6.zip
cd opencv-2.4.13.6/ && mkdir release/ && cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make && make install
           
注意:FATAL: In-source builds are not allowed. You should create separate directory for build files. ---Configuring incomplete, errors occurred! 則應該是在代碼根目錄下直接執行過 cmake,導緻根目錄下生成了 CMakeCache.txt,CMakefile,需要删除 CMakeCache.txt,CMakeFile再次執行編譯即可。

2. 設定Vim編輯器

# 設定使用vim編輯檔案時設定行号
sudo vim /etc/vim/vimrc
# 再最後一行添加
set number # 儲存退出
           

3. 下載下傳ssd源碼

su guxiaotu # 切換回使用者guxiaotu
# 切換到目前使用者主目錄下
cd $id
git clone https://github.com/weiliu89/caffe.git caffe-ssd
# 進入caffe-ssd源代碼目錄
cd caffe-ssd
# checkout出ssd算法源碼
git checkout ssd
           
注意:出現以下提示說明分支切換成功“分支 ssd 設定為跟蹤來自 origin 的遠端分支 ssd。切換到一個新分支 'ssd'”

4. 設定環境變量

# 在最後添加,caffe源碼預設存放在目前使用者hxr的主目錄下
echo 'export CAFFE_ROOT=/home/guxiaotu/caffe-ssd' >> ~/.bashrc	# 配置$CAFFE_ROOT	# 配置$CAFFE_ROOT
# 将/usr/lib/python2.7/dist-packages和$CAFFE_ROOT/python追加到$PYTHONPATH.
echo 'export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages:$CAFFE_ROOT/python'>>~/.bashrc
# 将$CAFFE_ROOT/build/tool指令工具追加到$PATH中
echo 'export PATH=$PATH:$CAFFE_ROOT/build/tool' >> ~/.bashrc
# 使環境變量生效
source ~/.bashrc
           

5. 編譯caffe環境

5.1 配置Makefile.config

5.1.1 配置CPU模式和使用Python

cd $CAFFE_ROOT
# 複制Makefile.confit
cp Makefile.config.example Makefile.config
# 編輯Makfile.config
sudo vim Makefile.config
# 修改以下内容
CPU_ONLY := 1	# 第8行,将前面#取消,啟用隻使用CPU模式
WITH_PYTHON_LAYER := 1 # 第89行,取消注釋表示使用Python編寫layer
           
注意:配置OpenCV3(需要修改Makefile等檔案,是以我直接使用OpenCV2,而不配置OpenCV3)
# 終端下檢視OpenCV版本(以下兩種方法都可以)
pkg-config --modversion opencv # 顯示為3.1版本
apt show libopencv-dev
# 取消注釋啟用OPENCV_VERNSION
OPENCV_VERSION := 3 # 第21行,由于ubuntu17.10安裝的依賴opencv為3.0版本,是以也啟用
           
注意:第65~67行表明了makefile檔案從哪個檔案路徑尋找python的numpy庫,是以在/etc/profile中環境變量PYTHONPATH需要手動追加/usr/lib/python2.7/dist-packages(Python2.7),另外還提供了Anaconda方式配置Python,以及Matlab環境的配置
65 # We need to be able to find Python.h and numpy/arrayobject.h.
66 PYTHON_INCLUDE := /usr/include/python2.7 \
67                 /usr/lib/python2.7/dist-packages/numpy/core/include
           
注意:第75~78行表明預設Python環境為Python2.7
75 # Uncomment to use Python 3 (default is Python 2)
76 # PYTHON_LIBRARIES := boost_python3 python3.5m
77 # PYTHON_INCLUDE := /usr/include/python3.5m \
78 #                 /usr/lib/python3.5/dist-packages/numpy/core/include
           

5.1.2配置hdf5環境(第91行~93行)

91 # Whatever else you find you need goes here.
92 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
93 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

# 後面追加配置hdf5路徑
92 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
93 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib/usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
           

5.2 編譯和測試

su hxr #切換使用者hxr
# 保證在$CAFFE_ROOT目錄中
cd $CAFFE_ROOT
make -j8 # 編譯,-j8:加速CPU便宜速度,其他參數-j4,-j16
# 確定$CAFFE_ROOT/python添加到環境變量PYTHONPATH中(詳細請看4. 設定環境變量)
make pycaffe # 編譯pycaffe
make test -j8
# (可選)
make runtest -j8
           
清除make編譯指令 make clean

6. 準備模型以及資料集

6.1下載下傳作者訓練的模型資料,存放在

$CAFFE_ROOT/models/VGGNet/

# 如果使用作者已經訓練好的模型資料,請下載下傳到$CAFFE_ROOT/model
sudo wget -P $CAFFE_ROOT/model http://www.cs.unc.edu/%7Ewliu/projects/SSD/models_VGGNet_VOC0712_SSD_300x300.tar.gz
# 解壓到制定目錄
tar -zxvf $CAFFE_ROOT/model/models_VGGNet_VOC0712_SSD_300x300.tar.gz -C $CAFFE_ROOT/model
           

6.2 下載下傳VOC2007 and VOC2012資料集, 存放在預設目錄

$HOME/data/

# 使用者主目錄下建立data目錄後進入
mkdir $HOME/data
# 下載下傳資料集
sudo wget -P $HOME/data http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
sudo wget -P $HOME/data http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
sudo wget -P $HOME/data http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# 解壓到指定目錄(必須按照以下順序解壓,不能颠倒)
tar -xvf $HOME/data/VOCtrainval_11-May-2012.tar -C $HOME/data
tar -xvf $HOME/data/VOCtrainval_06-Nov-2007.tar -C $HOME/data
tar -xvf $HOME/data/VOCtest_06-Nov-2007.tar -C $HOME/data
           
注意:三個壓縮檔案解壓順序一定不能打亂

6.3 建立LMDB檔案

cd $CAFFE_ROOT # 必須保證在$CAFFE_ROOT中執行
# 在data/VOC0712/中建立trainval.txt, test.txt, and test_name_size.txt 
./data/VOC0712/create_list.sh
# You can modify the parameters in create_data.sh if needed.
# It will create lmdb files for trainval and test with encoded original image:
#   - $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_trainval_lmdb
#   - $HOME/data/VOCdevkit/VOC0712/lmdb/VOC0712_test_lmdb
# and make soft links at examples/VOC0712/
./data/VOC0712/create_data.sh
           
注意:如果提示缺少某個model,說明缺少對應Python第三方庫,使用pip install安裝

7. 訓練/計算

7.1 訓練模型

# It will create model definition files and save snapshot models in:
#   - $CAFFE_ROOT/models/VGGNet/VOC0712/SSD_300x300/
# and job file, log file, and the python script in:
#   - $CAFFE_ROOT/jobs/VGGNet/VOC0712/SSD_300x300/
# and save temporary evaluation results in:
#   - $HOME/data/VOCdevkit/results/VOC2007/SSD_300x300/
# It should reach 77.* mAP at 120k iterations.
python examples/ssd/ssd_pascal.py
           

7.2 圖檔資料集上測試

# If you would like to test a model you trained, you can do:
python examples/ssd/score_ssd_pascal.py
           

7.3 視訊資料測試

$CAFFE_ROOT/examples/videos

cd $CAFFE_ROOT
# 測試示例視訊
sudo vim $CAFFE_ROOT/examples/ssd/ssd_pascal_video.py 
# 第99~100行修改模式為CPU,P.Solver.GPU修改為P.Solver.CPU
99 # Use GPU or CPU
100 solver_mode = P.Solver.CPU
# 第77~76行修改視訊檔案路徑$CAFFE_ROOT/examples/videos
75 # The video file path
76 video_file = "examples/videos/ILSVRC2015_train_00755001.mp4"
           

7.4 攝像頭測試

# 攝像頭測試
sudo vim $CAFFE_ROOT/examples/ssd/ssd_pascal_webcam.py 
# 第100~101行修改模式為CPU,P.Solver.GPU修改為P.Solver.CPU
101 # Use GPU or CPU
102 solver_mode = P.Solver.CPU
# If you would like to attach a webcam to a model you trained, you can do:
python examples/ssd/ssd_pascal_webcam.py
           

© 著作權歸作者所有

打賞點贊 (0)收藏 (0)

 分享

舉報

caffe-ssdUbuntu16.04安裝caffe-ssd

顧小兔2018

粉絲 3

博文 11

碼字總數 10182

作品 0

 杭州

關注

相關文章最新文章

深度學習ssd配置并在VGG模型上訓練自己的資料

最近一直在看深度學習的東西,用到了ssd,上網一搜,找到一篇不錯的部落格,http://www.cnblogs.com/objectDetect/p/5780006.html,官網,這篇是連安裝cuda到caffe環境的一系列http://blog.csd...

KyJason

2016/10/28

 1K

圖像識别——ubuntu16.04 movidius VPU NCSDK深度學習環境搭建

這篇文章本人不打算長篇累牍去寫,結合以前寫的文章,從軟體角度去寫一些點滴,伴随人工智能AI的火爆,現在圖像識别算法也異常火爆,上一篇文章提到Intel movidius Myriad 2 VPU(MA2450)是一...

桐烨科技

08/06

caffe-ssdUbuntu16.04安裝caffe-ssd

對象檢測入門資料

本文旨在提供對象檢測入門資料,包含但不限于入門TensorFlow、入門基本架構、入門keras資料,持續更新。 開發環境 平台:首選Mac/Linux、Windows目前TensorFlow API不全 語言:Python2.7.13 ...

Jcme丶Ls

2017/06/07

10km/caffe-static

0. who am i? 在caffe應用到工程實作時,為了友善系統安裝,需要盡可能減少軟體的依賴庫。 本項目以bash shell/PowerShell腳本實作将caffe依賴的所有第三方庫與caffe靜态編譯一起,以滿足全靜...

10km

2017/07/09

SSD 安裝、訓練、測試(ubuntu14.04+cuda7.5+openvc2.4.9)

安裝步驟 1.安裝git,下載下傳SSD源碼包 sudo apt-get install git git clone https://github.com/weiliu89/caffe.git cd caffe git checkout ssd 以下幾條指令是驗證相應的包是否齊全 sudo apt...

lilai619

2016/12/21

caffe-ssdUbuntu16.04安裝caffe-ssd

加載更多