在CentOS系统上安装机器学习框架Caffe的方法

2020-01-30 14:49:25刘景俊

vim Makefile.config
MATLAB_DIR := /usr/local/MATLAB/R2014a/
BLAS := atlas
BLAS_LIB := /usr/lib64/atlas
PYTHON_INCLUDE := /usr/include/python2.7
/usr/local/lib/python2.7/site-packages/numpy/core/include
/usr/local/include/python2.7
执行 ldconfig
make all -j12
make –j12 pycaffe
make –j12 matcaffe
make test –j12
make runtest –j12

如果matlab要使用静态编译libprotobuf.a的话,修改Makefile
在MATLAB_CXXFLAGS项上添加-static参数即可
但使用动态库的matlab模型可能不可用
若一切没有问题,至此caffe环境安装结束,待测试。
以下为可选部分
编译安装protobuf-2.5.0 protobuf-2.5.0

复制代码
tar -xvf protobuf-2.5.0.tar.gz
cd /usr/src/protobuf-2.5.0
./configure
make
make check
make install
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

继续安装protobuf的python模块(如果不用python,可跳过这一步)

复制代码
#cd ./python
#python setup.py build
#python setup.py test
#python setup.py install

安装cudnn
LINUX

复制代码
cd <installpath>
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
Add <installpath> to your build and link process by adding -I<installpath> to your compile line and -L<installpath> -lcudnn to your link line.

a. 编辑确保Makefile.config,启用GPU “# CPU_ONLY := 1”,并设置 “USE_CUDNN := 1”。
b. 安装cuDNN

复制代码
tar -xzvf cudnn-6.5-linux-R1.tgz
cd cudnn-6.5-linux-R1
cp lib* /usr/local/cuda-6.5/lib64/
cp cudnn.h /usr/local/cuda-6.5/include/
cd /usr/local/cuda-6.5/lib64/
rm -rf libcudnn.so libcudnn.so.6.5
chmod u=rwx,g=rx,o=rx libcudnn.so.6.5.18
ln -s libcudnn.so.6.5.18 libcudnn.so.6.5
ln -s libcudnn.so.6.5 libcudnn.so
ldconfig

注1:将相关的头文件,库文件放到profile中定义的系统路径里即可,matlab的mex运行时需要加载对应库
caffe编译时也可在Makefile.config中修改,添加cuDNN的路径/cache/INSTALL_cuDNN/cudnn-6.5-linux-R1

复制代码
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /cache/INSTALL_cuDNN/cudnn-6.5-linux-R1
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /cache/INSTALL_cuDNN/cudnn-6.5-linux-R1

注2:在使用tesla-c2050显卡时,需要在Makefile.config里改如下几个地方:

复制代码
PYTHON_LIB := /usr/lib64 #原为PYTHON_LIB := /usr/lib
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib64 /usr/lib64 #原为如下:
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

注3:protobuf手动安装,不需要通过yum,yum安装版本不对,make runtest会报错,使用protobuf2.5的版本,安装方式见上,在编译caffe前安装好后再进行编译。