前提
從Ubuntu裸機(jī)搭建caffe環(huán)境
機(jī)器型號:
認(rèn)真研讀caffe官網(wǎng)-Ubuntu系統(tǒng)安裝要求,某些依賴是針對Ubuntu不同系統(tǒng)版本的。
安裝流程
1、必備工具java8、git、vim等
2、caffe環(huán)境搭建
caffe官網(wǎng)-安裝總體要求
caffe.berkeleyvision.org/installation.html#prequequisites
caffe官網(wǎng)-Ubuntu系統(tǒng)安裝要求
caffe.berkeleyvision.org/install_apt.html
參考
blog.csdn.net/autocyz/article/details/51783857
根據(jù)官網(wǎng)要求,安裝caffe相關(guān)流程如下
1)CUDA,支持GPU模塊
2)BLAS
3)基本依賴?
boost>=1.55(親測應(yīng)是boost=1.55,其他版本編譯會報(bào)錯(cuò)!!!坑啊!!!)
protobuf、leveldb、snappy、opencv、hdf5、
4)安裝python或用系統(tǒng)版本及caffe需要的python依賴
5)matlab(很多caffe工程需要)版本要求2015a, 2014a/b, 2013a/b, and 2012b
6)編譯caffe
下面將分別介紹這六步安裝教程。
CUDA安裝
官網(wǎng)
developer.nvidia.com/cuda-75-downloads-archive
官網(wǎng)有英文安裝pdf,按步驟來即可。(之后可能會更安裝步驟)
查看nvcc編譯器版本
nvcc -V
查看NVIDIA顯卡驅(qū)動和gcc版本
cat /proc/driver/nvidia/version
cuDNN
developer.nvidia.com/rdp/cudnn-download
注意自己編譯的包是cuda還是cuda7.5,我是在cuda-7.5下編譯的,所以我要將下面cuda改為cuda-7.5
給拷貝的文件增加可讀權(quán)限
sudo chmod a+r /usr/local/cuda-7.5/include/cudnn.h /usr/local/cuda-7.5/lib64/libcudnn*?
在Makefile.config文件中對下面一行取消注釋
USE_CUDNN := 1
BLAS
我選擇的是安裝intel提供的MKL庫,性能是三者中最高的。
根據(jù)官網(wǎng)鏈接下載好mkl(注意選擇對應(yīng)系統(tǒng)的版本,我選擇的是最新版2018update1),解壓進(jìn)入到目錄,執(zhí)行安裝命令
sudo sh install.sh
配置環(huán)境變量(參考caffe官網(wǎng),根據(jù)各自系統(tǒng)選擇)
source /opt/intel/mkl/bin/mklvars.sh intel64
在/etc/ld.so.conf.d下新建intel-mkl.conf,添加以下路徑,完成lib文件的鏈接
/opt/intel/mkl/lib/intel64
sudo ldconfig // 更新軟鏈,一定要sudo
設(shè)置Makefile.config
BLAS := mkl
基本依賴
build-essential提供編譯程序必須軟件包的列表信息
sudo apt-get install build-essential
安裝官網(wǎng)要求的基本依賴,軟件在不同系統(tǒng)下的命名可能會有區(qū)別
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 #該步自動安裝注意檢查boost版本,14.04版本運(yùn)行該命令裝的是1.54版本,16.04安裝的是1.58,但是如果不是1.55則編譯會報(bào)錯(cuò);安裝boost1.55見文末-編譯并安裝boost1.55
安裝14.04要求的基本依賴
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
安裝完通過一下命令查看該軟件在系統(tǒng)上的安裝版本,防止某些依賴安裝失敗
dpkg -l 包名
python及caffe需要的python依賴
caffe工程里為我們準(zhǔn)備了相關(guān)的python依賴,位置在caffe/python。
坑來了!!文件中matplotlib如果默認(rèn)用下面一鍵安裝的命令則安裝的是2.1.0版本,之后會遇到cannot import name cbook的問題,所以該依賴請使用一下命令安裝
sudo apt-get install python-matplotlib
修改好requirements.txt后,執(zhí)行以下命令一鍵安裝caffe工程需要的python依賴,該命令將按照requirements.txt文件中給出的版本號要求安裝所有的依賴
sudo pip install -r caffe/python/requirements.txt
pip list // 查看安裝的python
如果報(bào)錯(cuò)?numpy.distutils.system_info.NotFoundError: no lapack/blas resources found?,可能是缺少liblapack-dev,查看
blog.csdn.net/lingfeng892/article/details/50425547
編譯caffe
編譯前請重點(diǎn)查看Makefile.config以下變量是否配置好
CUDA_ARCH #CUDA計(jì)算能力設(shè)置,參考?developer.nvidia.com/cuda-gpus
MATLAB_DIR
PYTHON_INCLUDE
CUDA_DIR
編譯caffe
make all -j8 // -j8表示開啟八個(gè)線程編譯,具體線程數(shù)依據(jù)機(jī)器cpu核數(shù)
make test -j8
make runtest -j8
make matcaffe // 將caffe導(dǎo)入matlab
make pycaffe // 將caffe導(dǎo)入python,可以在python下通過import caffe查看是否導(dǎo)入成功;該步驟容易出現(xiàn)諸多錯(cuò)誤,不要著急參考編譯出現(xiàn)問題以及文末的caffe安裝問題匯總
編譯出現(xiàn)問題
1、TypeParam = caffe::DoubleGPU? ?TypeParam = caffe::GPUDevice
參考?github.com/BVLC/caffe/issues/4229
添加環(huán)境變量
export CUDA_VISIBLE_DEVICES=0
2、error == cudaSuccess (8 vs. 0)
參考?blog.csdn.net/u010167269/article/details/50703923
編譯并安裝boost1.55
先卸載安裝的其他boost版本
執(zhí)行??命令下載boost1.55
wget?https://jaist.dl.sourceforge.net/project/boost/boost/1.55.0/boost_1_55_0.tar.gz
編譯boost1.55參考
blog.csdn.net/zc02051126/article/details/22061773
編譯會更新動態(tài)庫配置文件/etc/ld.so.conf,需要執(zhí)行以下命令創(chuàng)建動態(tài)裝入程序所需的鏈接
sudo lpconfig
編譯出現(xiàn)問題
fatal error: bzlib.h: No such file or directory
sudo apt-get install libbz2-dev
caffe安裝問題匯總
參考(兩個(gè)博文很厲害,專業(yè)配置caffe50年!!)