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的注释

Caffe安装 - RHEL 7.1_第1张图片
Paste_Image.png

我这里需要使用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 ,虽然不太懂是什么原理,但解决了问题

Caffe安装 - RHEL 7.1_第2张图片
Paste_Image.png

再次编译猴发现在最后报了一个错,如图

Caffe安装 - RHEL 7.1_第3张图片
Paste_Image.png

查看官方教程发现如下描述

Paste_Image.png

编辑Makefile.config,找到了官网说的取消注释的地方

Caffe安装 - RHEL 7.1_第4张图片
Paste_Image.png

但我在尝试了安装atlas-devel后,按照官网的做法还是失败,所以用了官网说的第二种方法,安装OpenBLAS
,即运行

yum install openblas openblas-devel

然后再次修改Makefile.config

Caffe安装 - RHEL 7.1_第5张图片
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,如下图,安装成功。

Caffe安装 - RHEL 7.1_第6张图片
Paste_Image.png

不容易啊.. 由于工作原因,需要在机子上安装Tensorflow、MXnet
、Caffe,因为numpy库的原因折腾了好久.. 感觉把绝大部分的坑写出来了,但感觉还是漏了点什么.. 再补吧

你可能感兴趣的:(Caffe安装 - RHEL 7.1)