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主機安裝完成!