深度學習caffe:Ubuntu16.04安裝指南(2)


caffe [CPU ONLY] 2017-01-19

最簡單的安裝配置方式: 不用GPU加速,使用OPENCV3.1圖像庫+系統自帶的python2.7, 由官方教程(鏈接如下)簡化而得到.

Ubuntu 16.04 or 15.10 Installation Guide

0. Ubuntu16.04 安裝

如果對於安裝Ubuntu的過程不是很熟悉的話,這里有不錯的教程和常見問題解決方案.

Ubuntu16.04 U盤安裝Ubuntu16.04制作 光盤刻錄 安裝與簡介

Ubuntu 16.04 installation failure

1. 更新軟件源

使用默認的軟件源特別的慢,搜索國內Ubuntu16.04 軟件源得到相關網頁很多,

Ubuntu 16.04 幾個國內更新源

ubuntu16.04源

操作命令

# 在修改source.list前,最好先備份一份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
# 執行命令打開source.list文件,清空內容,輸入清華的軟件源
sudo gedit /etc/apt/sources.list
# 開始更新
sudo apt-get update 

注: 在bjtu,推薦清華大學的軟件源,速度更快[也可以使用aliyun]

清華大學

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

阿里雲

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

 2. 安裝需求軟件

 caffe的編譯/運行需要依賴一些其它的程序和各種庫

sudo apt-get update

sudo apt-get install -y build-essential cmake git pkg-config

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install -y libatlas-base-dev 

sudo apt-get install -y --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

# (Python general)
sudo apt-get install -y python-pip

# (Python 2.7 development files)
sudo apt-get install -y python-dev
sudo apt-get install -y python-numpy python-scipy

 建議:

 安裝過程最好一條命令一條命令的執行,出現了錯誤方便及時發現.

 安裝過程中因為網絡原因,難免會出現安裝失敗的情況,不用擔心,重新執行命令,多試幾次就好啦~

3. OPENCV3.1

下載

項目地址: https://github.com/opencv/opencv.git

直接下載: opencv-master.zip
 

依賴項安裝

sudo apt-get install --assume-yes build-essential cmake git
sudo apt-get install --assume-yes build-essential pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils 

解壓,進入opencv-master目錄 ,開始編譯

# 解壓進入源碼目錄
unzip opencv-master.zip
cd opencv-master
# 創建build目錄,用於編譯
mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..    
make -j $(($(nproc) + 1))

安裝

# 當前在build目錄下
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

 測試:

到了這一步,如果沒有報錯,說明已經安裝成功了,為了確認一下,可以用一個例子實際跑一下.

具體可以參考我的這一篇博文: OPENCV3.1測試demo

4. 配置libhdf5

直接執行下列命令即可,否則在第五步執行"make all" 會報hdf5相關錯誤

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so  

5. caffe

下載

項目地址: https://github.com/BVLC/caffe 

直接下載: caffe-master.zip

注: 通過git命令直接clone項目(git clone https://github.com/BVLC/caffe.git ),但是速度一般都特別慢,建議直接下載

python庫支持

解壓caffe-master.zip之后,進入caffe-master/python,安裝python需求庫

unzip caffe-master.zip
cd caffe-master
# 第一步,安裝python需求庫
cd python
for req in $(cat requirements.txt); do pip install $req; done 

配置文件修改: Makefile和Makefile.config[當前目錄caffe-master]

Makefile

gedit ./Makefile
# 替換
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
# 為
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

Makefile.config

cp Makefile.config.example Makefile.config
gedit ./Makefile.config

修改配置項如下

# 取消注釋
CPU_ONLY := 1
OPENCV_VERSION := 3

# 包含和庫路徑保持同下面一致
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial /usr/local/share/OpenCV/3rdparty/lib/

編譯運行

# 多核並行,加快執行速度: -j $(($(nproc) + 1))
make all -j $(($(nproc) + 1))
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))
make pycaffe  -j $(($(nproc) + 1))
make distribute -j $(($(nproc) + 1))

 注: 編譯運行過程若是報錯提示缺少某個軟件或是庫,一般直接安裝就可以解決. 重新編譯命令為 make clean

給當前用戶bash添加python環境變量

gedit ~/.bashrc
# 最后一行添加
export PYTHONPATH=/path/to/caffe-master/python:$PYTHONPATH
# 立即生效
source ~/.bashrc 

6. 運行caffe自帶的兩個DEMO: minster和cifar10

 實驗部分鏈接: 運行caffe自帶的DEMO

 


免責聲明!

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



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