您现在的位置是:首页 > 文章详情

CentOS7系统安装Caffe

日期:2018-02-02点击:858

一,安装基础开发工具和开发包

  • 基本开发工具

     sudo yum -y groupinstall "Development Tools" 
  • 添加EPEL repositories

     sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装gcc:yum install gcc 

 

安装g++:yum install gcc-c++

git安装与卸载的方式

1.查看系统是否已经安装git

git --version

2.CentOS7 yum 安装git

yum install git

3.安装成功

git --version

 

4.卸载git

yum remove git

二,安装通用依赖

sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel atlas-devel

三,安装其他依赖

sudo yum install gflags-devel glog-devel lmdb-devel
 
 
注意:如果需要手动安装包,那么必须安装cmake:
 

如果发现没有找到上面的包,可以采用手动安装的方法,系统需要提前装好最新的cmake版本,我装的是3.4.0版本。 
cmake版本传送cmake3.4.0二进制版本 
cmake的配置过程可以参考Centos6.3安装配置cmake

在上面安装依赖的时候,最好在caffe下手动安装opencv-devel和gflags-devel,方法如下:

  • 安装opencv-devel       //opencv先yum安装,不行的话再手动安装

 $ sudo yum -y install cmake pkgconfig gtk2-devel python-devel numpy tbb-devel libpng-devel $ wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.10/opencv-2.4.10.zip $ unzip opencv-2.4.10.zip $ cd opencv-2.4.10 $ mkdir build $ cd build $ cmake ../ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local \ -DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT=ON \ -DINSTALL_PYTHON_EXAMPLES=ON $ make -j 2 $ sudo make install

 

 

# glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gztar zxvf glog-0.3.3.tar.gzcd glog-0.3.3
./configure
make && make install
 
# gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1
//上面一步特别重要,尤其是当出现找不到-fPIC的时候,执行这一句即可
make && make install
 
# lmdb
git clone https://github.com/LMDB/lmdbcd lmdb/libraries/liblmdb
make && make install

 


  1. glog

    wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz 
    tar zxvf glog-0.3.3.tar.gz 
    cd glog-0.3.3 
    ./configure 
    make && make install

  2. lmdb

    git clone https://github.com/LMDB/lmdb 
    cd lmdb/libraries/liblmdb 
    make && make install

  3. protobuf重要

    安装步骤请参考 http://blog.csdn.net/tdmyl/article/details/31811317

  4. hdf5安装

    hdf5安装请查看官方文档 
    http://www.hdfgroup.org/HDF5/release/obtainsrc.html#src

  5. leveldb安装 

    leveldb下载请见https://github.com/google/leveldb 
    安装请见http://blog.sina.com.cn/s/blog_560e310001015jfx.html 
    缺失的步骤: 
    leveldb文件夹下依次执行 
    make 
    cd out-shared 
    cp lib* /usr/local/lib


切记,上述依赖需要安装到/usr/local下面的目录,否则编译时会提示找不到相关库文件。当然也可以配置到用户自定义的目录下面,不过没有尝试过。 前方高能!!接下来就是一些稍大型的安装动作了,步骤如下:
 
 
安装caffe:

一,下载Caffe源码

git clone https://github.com/bvlc/caffe.git
cd caffe/
mv Makefile.config.example Makefile.config

二,修改Makefile.config,大考CPU_ONLY选项,保存

1,#仅CPU模式开关,打开该选项(去掉#)表示Caffe仅支持CPU,不支持GPU

CPU_ONLY:=1

2,去掉BLAS_INCLUDE=/path/to/your/blas和BLAS_lIB=/path/to/your/blas的#,然后添加自己的路径
BLAS_INCLUDE:=/usr/include
BLAS_lIB:=/usr/lib64/atlas

三,vim Makefile

将LIBRARIES += cblas atlas 改为 LIRARIES +=satlas tatlas 

 

四,make -j8

然后等待编译成功,可能会遇到下列错误,如果出现错误一定要先看出现错误的地方,不要只看最后报错的地方,一定要看出错的原因是什么,从头读到尾,不要只看结果,我把自己遇到的错误整理如下:

 

错误一:gcc 编译出现 internal compiler error: Killed

 

 internal compiler error: Killed (program cc1plus)

在 640M 内存的 vps 做编译的时候出现了上述错误.
几经搜索, 才发可能是系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …
解决方式也很简单, 就是增加一个交换分区:

1. 创建分区文件, 大小 2G

 dd if=/dev/zero of=/swapfile bs=1k count=2048000

2. 生成 swap 文件系统

 mkswap /swapfile

3. 激活 swap 文件

 swapon /swapfile

这样就木有问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样我们就需要修改 fstab.
修改 /etc/fstab 文件, 新增如下内容:

 /swapfile swap swap defaults 0 0

这样每次重启系统的时候就会自动加载 swap 文件了.

 

原文地址:https://xwsoul.com/posts/684

 

错误二:gcc版本需要4.8以上,支持C++11

C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。随后各编译器厂商都各自实现或部分实现了C++中的特性。

下面介绍在Linux系统下,升级GCC以支持C++11。目前来看GCC是对C++11支持程度最高最多的编译器,但需要GCC4.8及以上版本。

原GCC版本:4.4.7;

目标:升级GCC到4.8.2,以支持C++11。

 

  1. 获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz;
  1. 解压缩:tar -xf gcc-4.8.2.tar.gz;
  1. 进入到目录gcc-4.8.2,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
  1. 建立输出目录并到目录里:mkdir gcc-build-4.8.2;cd gcc-build-4.8.2;
  1. ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib。--enable-languages表示你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查;
  1. 编译:make;注意此步和上一步,比较耗时;
  1. 安装:make  install;
  1. 验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;或者可以查看gcc的安装位置:which gcc;然后在查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置,如果显示为;

则表示已经升级成功。

 

错误三:make: *** [.build_release/tools/caffe.bin] Error 1

 

 

解决方法 存在上一次安装的残留文件。用 make clean 清除之前的安装,重新编译即可

原文链接:https://www.centoschina.cn/course/install/9630.html
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章