centos 7 + caffe + CPU(only)
2017-07-07 13:47
183 查看
机房里的机器操作系统为centos 7.3 且没有nvidia GPU,所以本次安装为纯CPU版本的caffe,其主要安装过程可以参考caffe安装官网,本文主要记录主要的安装过程和可能存在的问题。
yum 会提示找不到依赖(No package …… available),按照另一篇博客的提示,我们可以通过安装epel-release,再更新软件源来解决这样的问题:
可以再根据需要安装其他的软件:
然后再次按照caffe安装官网的步骤进行安装,这次发现hdf5,glog,gflags,lmdb都已经安装成功。
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
make: * [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
此处可以按照caffe配置过程的解决步骤进行解决,我个人的解决方法是使用了openblas,这个要和步骤3修改Makefile.config对应的配置一致,首先需要下载并安装openblas,安装的时候如果指定了安装位置,同样需要与Makefile.config对应的配置一致。
首先是无GPU支持,找到#CPU_ONLY := 1,将注释去掉,如下:
然后将BLAS对应的配置改一下,将 BLAS := atlas 改为open,如下:
如果openblas安装的时候指定了目录,则需要添加对应内容,假设安装到了/usr/local目录下,则进行如下更改:
然后对caffe进行编译,在caffe目录下输入:
之后不出意外又碰到了编译错误:
在stackoverfow找到了解决方法,这是一个编译选项错误的问题,我们需要在Makefile文件中添加-lopencv_imgcodecs的编译选项,具体操作如下:
然后清除上一次的编译再继续编译,这一次编译通过:
make test 的时候没有问题,make runtest的时候出现问题:
临时或长久解决方法可以参见博客:caffe配置过程,临时的解决方法是添加环境变量:
再次make runtest 后成功。
注意: 在运行训练前,需要指明是用CPU进行测试,而不是GPU。 需要修改/examples/mnist/lenet_solver.prototxt文件最后一行,将GPU改为CPU,并执行train_lenet.sh。
caffe安装官网
阿里云CentOS7上安装配置caffe(仅CPU)记录
Centos 7.2 Caffe CPU-ONLY
caffe的配置过程
caffe with openblas
caffe : opencv error
1. 安装依赖
按照caffe官网安装通常依赖的命令:sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel sudo yum install gflags-devel glog-devel lmdb-devel
yum 会提示找不到依赖(No package …… available),按照另一篇博客的提示,我们可以通过安装epel-release,再更新软件源来解决这样的问题:
sudo yum install epel-release sudo yum update
可以再根据需要安装其他的软件:
sudo yum install gcc gcc-c++ sudo yum install git vim python-devel python-pip
然后再次按照caffe安装官网的步骤进行安装,这次发现hdf5,glog,gflags,lmdb都已经安装成功。
sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel sudo yum install gflags-devel glog-devel lmdb-devel
sudo yum install atlas-devel
sudo yum install python-devel
2.安装openblas
这个是安装caffe的一个坑,涉及到caffe的安装配置,Linux本身已自带有atlas,如果安装官网的安装步骤进行make的时候会出现如下错误:/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
collect2: error: ld returned 1 exit status
make: * [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1
此处可以按照caffe配置过程的解决步骤进行解决,我个人的解决方法是使用了openblas,这个要和步骤3修改Makefile.config对应的配置一致,首先需要下载并安装openblas,安装的时候如果指定了安装位置,同样需要与Makefile.config对应的配置一致。
git clone https://github.com/xianyi/OpenBLAS.git cd OpenBLAS make -j4 make install
3.配置安装caffe
首先需要下载caffe,然后对caffe进行相应的配置后进行编译,编译通过后则可以继续往后进行,在编译的过程中会遇到很多问题,可以在github中caffe项目的issue中看是否与自己相似的问题,也可以参考博客caffe配置过程。git clone https://github.com/BVLC/caffe.git cd caffe cp Makefile.config.example Makefile.config vim Makefile.config
首先是无GPU支持,找到#CPU_ONLY := 1,将注释去掉,如下:
找到 # CPU_ONLY := 1 改为 CPU_ONLY := 1
然后将BLAS对应的配置改一下,将 BLAS := atlas 改为open,如下:
BLAS := atlas 改为 BLAS := open
如果openblas安装的时候指定了目录,则需要添加对应内容,假设安装到了/usr/local目录下,则进行如下更改:
找到 # BLAS_INCLUDE := /path/to/your/blas # BLAS_LIB := /path/to/your/blas 增加如下内容: BLAS_INCLUDE := /usr/local/include BLAS_LIB := /usr/local/lib
然后对caffe进行编译,在caffe目录下输入:
make all -j8
之后不出意外又碰到了编译错误:
CXX/LD -o .build_release/examples/cpp_classification/classification.bin /usr/bin/ld: .build_release/examples/cpp_classification/classification.o: undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi' //usr/local/lib/libopencv_imgcodecs.so.3.0: error adding symbols: DSO missing from command line
在stackoverfow找到了解决方法,这是一个编译选项错误的问题,我们需要在Makefile文件中添加-lopencv_imgcodecs的编译选项,具体操作如下:
在Makefile中进行更改: LIBRARIES += lmdb endif ifeq ($(USE_OPENCV), 1) - LIBRARIES += opencv_core opencv_highgui opencv_imgproc + LIBRARIES += opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs endif PYTHON_LIBRARIES := boost_python python2.7 WARNINGS := -Wall -Wno-sign-compare
然后清除上一次的编译再继续编译,这一次编译通过:
make clean make all -j8 make test make runtest
make test 的时候没有问题,make runtest的时候出现问题:
.build_release/tools/caffe .build_release/tools/caffe: error while loading shared libraries: libglog.so.0: cannot open shared object file: No such file or directory make: *** [runtest] Error 127
临时或长久解决方法可以参见博客:caffe配置过程,临时的解决方法是添加环境变量:
export LD_LIBRARY_PATH=/usr/local/lib/
再次make runtest 后成功。
4.运行测试
全部安装成功后可以进行测试,不出意外的话程序开始对Mnist数据集进行训练,在caffe目录内运行:./data/mnist/get_mnist.sh ./examples/mnist/create_mnist.sh ./examples/mnist/train_lenet.sh
注意: 在运行训练前,需要指明是用CPU进行测试,而不是GPU。 需要修改/examples/mnist/lenet_solver.prototxt文件最后一行,将GPU改为CPU,并执行train_lenet.sh。
参考资料
Install Caffe on CentOS 7caffe安装官网
阿里云CentOS7上安装配置caffe(仅CPU)记录
Centos 7.2 Caffe CPU-ONLY
caffe的配置过程
caffe with openblas
caffe : opencv error
相关文章推荐
- 新手在Ubuntu16.04安装caffe(CPU only)并 配置Anaconda2步骤
- win7,vs2013 caffe配置[Only CPU]
- caffe在Ubuntu16.40+python2.7.12(CPU ONLY)下的配置
- 从零开始安装 Caffe --CPU only----没有 pycaffe
- centos 7 安装caffe(CPU版)
- [Ubuntu 16.04 LTS][Caffe][CPU only]Caffe安装记录
- ubuntu16.04安装caffe2(CPU only)
- 【Caffe安装】Ubuntu14.04上Caffe配置安装(Only CPU)
- Caffe_Linux学习笔记(一)基于Ubuntu16.04+CPU only+Python2.7环境下的Caffe配置
- Ubuntu16.04安装Caffe(CPU Only)
- Ubuntu16.04配置caffe和pycaffe(cpu only)
- Vmware虚拟机安装caffe,Ubuntu安装caffe,CPU only版本
- Mac下安装Caffe—CPU ONLY
- Caffe学习(1):Ubuntu16.04上Caffe配置安装(Only CPU)
- ubuntu16.04+caffe(CPU only)&hdf5.h: No such file or directory
- Ubuntu 16.04下CPU only模式的caffe安装
- Caffe学习(1):Ubuntu16.04上Caffe配置安装(Only CPU)
- win10 CPU only安装caffe 解决 无法打开包括文件: “caffe/include_symbols.hpp”
- caffe 安装(only cpu)
- Ubuntu1404下Caffe(Only CPU)安装