記錄一下如何在CentOS 7.5下安裝Nvidia Digits所需要的NVcaffe,跟caffe官方網站上面的BVLC(Berkeley Vision And Learning Center) caffe有些微不同,使用digits最好使用NVcaffe,不然就要再去做其他的設定才能使用,這邊不做討論。
記錄這篇的原因在於官方只提供Ubuntu 16.04的安裝教學,對於CentOS 7的使用者來說有些微的不同,很容易導致對兩個系統環境不熟的人造成不歸路。
使用環境
OS : CentOS 7.5 64bit
CUDA version : 9.0 (綁定於tensorflow)
cudnn : 7.1(綁定於tensorflow)
Tensorflow : 1.10 (版本有變請自行確認所需要的CUDA版本及cudnn版本)
protobuf : 3.4.0 (在這邊用不到,順便記錄)
Python : 2.7
Cmake : 3.6 (在這邊用不到,順便記錄)
Boost : 1.64 (綁定於Cmake及一些瑣碎問題,建議不要更動)
Digits : 6.1.1 (沒特別注意是否對於其他軟體有版本相依問題)
NVcaffe : 0.15.14 (跟著Digits官方github下載就對了)
安裝說明
首先更新yum,預設應該沒有sudo使用者,請自行找如何設定,或是直接用su
sudo yum update
確認gcc版本是否最新#sudo yum install gcc gcc-c++安裝python和pip
#sudo yum install python python-devel python-pip pip下載NVcaffe,參考Nvidia Digits的官方github的BuildCaffe.md說明
先決定要安裝的路徑,本人安裝在根目錄下,因此需要superuser的權限
告知系統caffe安裝路徑
#export CAFFE_ROOT=/caffe之後請記得加入到環境變數中,digits啟動才不會找不到caffe
安裝caffe需要的python packges
#sudo pip install -r $CAFFE_ROOT/python/requirements.txt剛才是用NVcaffe內提醒的需求進行安裝,有些沒有被提及的也需要,只是他們覺得大家應該都有而沒有標註,故需要使用下面指令檢查一些安裝
#sudo yum install protobuf-devel leveldb-devel openblas-devel snappy-devel opencv-devel boost-devel hdf5-devel gflags-devel glog-devel lmdb-devel反正就是系統提示缺什麼就補什麼,再來請至$CAFFE_ROOT下複製make的設定檔
#cd $CAFFE_ROOT
#cp Makefile.config.example Makefile.config進行客製化編譯設定
#sudo gedit Makefile.config找到
BLAS := atlas
更改並且新增一行BLAS := open
BLAS_INCLUDE := /usr/include/openblas
Ubuntu使用的是atlas,但CentOS不是,需要改成OpenBlas再來請找到
/usr/lib/python2.7/dist-packages/numpy/core/include
改掉lib成lib64/usr/lib64/python2.7/dist-packages/numpy/core/include
再來設定使用GPU,找到# USE_CUDNN := 1
刪除註解#符號改成下面這樣USE_CUDNN := 1
註解掉CUDA版本檢查#CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \......................略
就可以開始makesudo make all -j12
sudo make runtest
sudo make pycaffe
sudo make distribute
-j12是使用12核心make,runtest可以跳過也沒關係再次檢查剛剛提及的環境變數即可完成安裝