Jetson TX2學習筆記(二):caffe安裝配置

我需要在caffe上運行深度學習程序,因此在這裏把caffe GPU在jetson tx2(下稱TX2主機)安裝的過程記錄下來。

由於JetPack中自帶CUDA、OpenCV和CuDNN,在完成TX2主機JetPack安裝後(教程可參見我的前一篇博文https://blog.csdn.net/u012614287/article/details/81509677),安裝caffe for python(GPU)的過程比在一般PC安裝的過程簡單一些。主要可概括爲以下幾步:1.安裝依賴項。2.從git上下載caffe源碼。3.根據需要修改配置文件。4.編譯源碼。5.針對python安裝部分caffe的python接口。詳述見下文。

一、安裝依賴項。
caffe有許多依賴項,這裏我不加解釋的將其列出,這步寧多勿缺,未曾有問題出現。在TX2主機的ubuntu16.04環境中可以將這些代碼寫在腳本文件中一次運行,以下是我安裝依賴腳本文件(dependency.sh)的內容。

# general dependency
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev

# BLAS dependency
sudo apt-get install libatlas-base-dev

# python dependency
sudo apt-get install python
sudo apt-get install python-dev

# python dependency etc.
sudo apt-get install python-numpy
sudo apt-get install ipython
sudo apt-get install ipython-notebook
sudo apt-get install python-sklearn
sudo apt-get install python-skimage
sudo apt-get install python-protobuf

# google dependency
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

接下來輸入命令./dependency.sh執行該腳本,等待依賴安裝完成。至此依賴安裝結束

二、從git上下載caffe源碼。
如果TX2主機上沒有事先安裝git,可以通過以下命令安裝。

sudo apt-get install git

接下來可以cd至希望caffe源碼保存的目錄,使用以下命令將caffe源碼down下來。

git clone https://github.com/BVLC/caffe.git

源碼安裝完成

三、根據配置需要修改配置文件。
在開始編譯之前,需要進入caffe目錄修改’Makefile.config’和’Makefile’兩個配置文件。

Makefile.config文件通過複製Makefile.config.example文件得到,根據我的需求,對該文件做了以下改動
1.使用CuDNN(取消USE_CUDNN := 1前的‘#’)
2.使用OpenCV v3(取消OPENCV_VERSION := 3前的‘#’)
3.由於使用的是CUDA9版本,按要求修改了代碼(刪除了CUDA_ARCH變量的前兩行,具體可看配置文件裏該變量的前幾行)。
4.使用python接口(取消WITH_PYTHON_LAYER := 1變量前的’#’)
5.修改python路徑如下:

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 

Makefile文件作出的改動如下:

將:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替換爲:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
將:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改爲:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

配置文件修改完成

四、編譯源碼
caffe源碼目錄下執行編譯命令

make all -j8

運行測試

sudo make test -j8
sudo make runtest -j8

如果沒有異常,則caffe安裝完成,但由於沒安裝pycaffe接口,依然無法在python中導入caffe。需要編譯caffe的python接口pycaffe,運行sudo make pycaffe命令(如遺漏這步,可能導致no module named _caffe錯誤如下圖):
這裏寫圖片描述

此時需要在~/.bashrc文件中寫入caffe的路徑,在文件下方寫入(遺漏這步可能導致no module named caffe)

export PYTHONPATH=~/caffe/python:$PYTHONPATH

然後使用source ~/.bashrc使環境變量生效即可。至此caffe for python在TX2主機安裝完成!

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章