ubuntu 16.04 +caffe+anaconda (CPU) 安裝詳細教程

15 篇文章 0 订阅
7 篇文章 0 订阅

前提条件:ubuntu 16.04 +caffe+anaconda (CPU)


1、在终端上输入下面的命令行,依次安装依赖包:
命令行:
sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev


2、下载caffe

(注意:最好用命令行下载,如果出错,看具体问题来解决,也可尝试两遍(问题:error: RPC failed; curl 56 ),如果在官网下载zip文件,用unzip解压不了,jar解压出错,反正各种坑,如果有好的解决方法望予以告知,谢谢)

命令行:

sudo apt-get install git

git clone git://github.com/BVLC/caffe.git


下载anaconda2:     https://www.continuum.io/downloads

在下载文件的目录下打开终端 :

bash Anaconda2-4.4.0-Linux-x86_64.sh 安装

3、在caffe文件中,复制Makefile.config.example并重命名Makefile.config

命令行:

cp Makefile.config.example Makefile.config  

直接双击 Makefile.config


Makefile.config中修改内容:

1)找到#CPU_ONLY := 1,取消注释#(设置为CPU模式) 使得 CPU_ONLY := 1

2)添加路径配置

  1. # Whatever else you find you need goes here.  
  2. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include  
  3. LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 

将上面修改为:

  1. # Whatever else you find you need goes here.  
  2. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial  
  3. LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial  

(注意:include /usr 和 r/lib /usr 之间的空格,不然会出错

新增的内容为:
/usr/include/hdf5/serial
/usr/lib/x86_64-linux-gnu/hdf5/serial

3)更改Python路径

# PYTHON_INCLUDE := /usr/include/python2.7 \
# /usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
 ANACONDA_HOME := $(HOME)/anaconda2
 PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# PYTHON_LIB := /usr/lib
 PYTHON_LIB := $(ANACONDA_HOME)/lib


4、在caffe文件中,更改"Makefile"文件中的包含目录 (解决的问题:在最后进行 ”$make all” 操作时,报错找不到 “hdf5.h”

使用ctrl+f    LIBRARIES 找到 :
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
更改最后两项为:
LIBRARIES +=glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

5、在caffe下打开终端,进行编译:

     之后 make 会出错:

/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libopencv_highgui.so:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用

是权限问题,加上sudo就可以了:

 sudo make all -j4

sudo make test -j4

sudo make runtest -j4

sudo make pycaffe

出错:      ImportError: No module named google.protobuf.internal
(注意:如果执行结果失败,则需要执行语句sudo make clean,然后解决掉问题重新编译)

方法:  安装protobuf最新版本
查看:
 sudo protoc --version             libprotoc 2.6.1
 protoc --version                      libprotoc 2.6.1

命令:      ~/anaconda2/bin$     pip install protobuf

   参考网站: http://www.jianshu.com/p/1e405b9fe973

出错:
     
      /lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found......

出现该问题的根本原因是anaconda3中自带的libgcc版本是libgcc 4.8.5-2,然而caffe中编译Python需要更高的版本libgcc5.2.0

$ strings /home/douxiao/anaconda3/bin/../lib/libstdc++.so.6| grep GLIBCXX

GLIBCXX_3.4
......
GLIBCXX_3.4.19//未找到GLIBCXX_3.4.21

方法: 更改更改conda安装源镜像:
conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
conda config --set show_channel_urls yes
成功后:
$conda install libgcc

$strings /home/douxiao/anaconda3/bin/../lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_DEBUG_MESSAGE_LENGTH
GLIBCXX_3.4
......
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21


显示:[  PASSED  ] 1106 tests. (或其它数字),则搭建成功!



6. 添加anaconda2的python路径(编译通过之后添加此路径)








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值