Caffe安装 - RHEL 7.1
配置yum源
具体还是配置本地yum源和163源,具体配置流程见Tensorflow安装篇
安装依赖包
yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel
yum install gflags-devel glog-devel lmdb-devel
yum install atlas-devel
yum install gcc-c++
下载caffe源码并编译
yum install git
git clone https://github.com/BVLC/caffe.git
下载过程有点慢,所以这里我把caffe的源码上传到百度云上了,需要的可以自己下载
链接:http://pan.baidu.com/s/1qYTlohY 密码:sk25
我们将源码拷贝至root目录下(或直接在root目录下下载),为方便描述,本文默认所有命令都在/root/caffe运行。
接下来进行caffe的配置,先执行以下命令
cp Makefile.config.example Makefile.config
vi Makefile.config
这里注意看如下官网的描述,如果需要用刀cuDNN,则需要去掉USE_CUDNN := 1的注释;
如果只需要使用CPU,则需要去掉 CPU_ONLY := 1的注释
我这里需要使用cuDNN,所以去掉USE_CUDNN := 1的注释
接下来开始编译:
make all
首先报了第一个错,这个问题大概是因为我需要使用cuDNN,所以去掉USE_CUDNN := 1的注释,因为我同事安装时是去掉 CPU_ONLY := 1的注释,没有报这个错
libopencv_imgcodecs.so.3.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
这个问题纠结了很久,最后在google上找到了个偏方,即在MakeFile下添加:opencv_imgcodecs ,虽然不太懂是什么原理,但解决了问题
Paste_Image.png再次编译猴发现在最后报了一个错,如图
Paste_Image.png查看官方教程发现如下描述
Paste_Image.png编辑Makefile.config,找到了官网说的取消注释的地方
Paste_Image.png但我在尝试了安装atlas-devel后,按照官网的做法还是失败,所以用了官网说的第二种方法,安装OpenBLAS
,即运行
yum install openblas openblas-devel
然后再次修改Makefile.config
Paste_Image.png再次执行make all命令,编译成功。
接着执行以下命令
make test
make runtest
至此,源码编译结束。
编译python接口
首先安装pip
yum install python-pip
pip install -upgrade pip
然后安装pycaffe的各种依赖
pip install -r python/requirements.txt
yum install python-devel
将caffe的python接口路径添加到系统环境变量
[root@localhost caffe]# vim /etc/profile
在文件的最后一行添加:
export PYTHONPATH=/code/caffe/python:$PYTHONPATH #注意,/code/caffe/python这部分要根据你的实际目录来填写。
然后使修改生效
[root@localhost caffe]# source /etc/profile
[root@localhost caffe]# source /etc/profile
编译pycaffe
make pycaffe
输出如下:
Paste_Image.png最后尝试导入pycaffe,如下图,安装成功。
Paste_Image.png不容易啊.. 由于工作原因,需要在机子上安装Tensorflow、MXnet
、Caffe,因为numpy库的原因折腾了好久.. 感觉把绝大部分的坑写出来了,但感觉还是漏了点什么.. 再补吧