深度学习之caffe入门——caffe环境的配置(CPU ONLY)

  作为一个刚刚入坑深度学习并接触caffe开源框架的小白来说,配置caffe环境无疑是一件富有挑战性的工作。我曾花了一周的时间来折腾我的电脑,期间还送修了一次,重装系统N多次。心情也是郁闷得很。
  我曾参考了很多CSDN前辈的教程,也按照《深度学习——21天实战caffe》这本书来配过,但是都不成功。无疑,这些博客讲述的都是成功的例子,但是由于每台电脑的配置、环境都不尽相同,所以仅凭一篇教程来配置caffe是欠妥当的。建议后来的朋友多多参考前人的足迹,看看每篇教程有什么不同,哪些依赖包是教程没有提及但自己电脑又确实没有的。
  caffe依赖多且复杂,历来被人诟病,但是配置编译完成后caffe所带来的欣喜与便捷也足以回报先前的煞费苦心。相信自己的能力也会随着这个过程逐步提高,所以希望未来看到这篇博客的你不要灰心丧气、半途而废!
  所幸我还是找到了一篇适合于我的电脑的caffe 配置教程。当然这不可能适合于所有的电脑,所以千万不要迷信教程,多看多想才是正道。

  
  正文开始:
  由于我选择的是CPU训练,所以暂时没有配置CUDA和cuDNN这两个环境。

  计算机配置:
  Ubuntu 16.04 LTS
  i7-4720HQ
  8G内存
  
  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 --no-install-recommends libboost-all-dev

  接下来安装BLAS(基本线性代数子库)

     sudo apt-get install libatlas-base-dev
  
  使用默认Python来建立pycaffe接口,需要安装:

 sudo apt-get install python-dev  

另一些兼容依赖库

sudo apt-get install libgflags-dev  
sudo apt-get install libgoogle-glog-dev   
sudo apt-get install liblmdb-dev 

2、下载Caffe源码

安装git
sudo apt-get install git

下载caffe 源代码
git clone https://github.com/BVLC/caffe.git

在终端下载可能会有些慢,而且容易掉线,还不支持断点续传,所以我们也可以访问上面的网站,在网站下载zip格式的文件,再解压到/home 就可以了。

这里多说一句,在终端下载源文件时系统会自动在/home 下生成一个名叫caffe 的文件夹,当遇到了下载不成功的情况时,我们需要找到这个文件夹,把它删除,当然里面什么也没有。这样下次再用命令行下载才不会报错。

如果需要Caffe的Python接口,切换到caffe下的python目录下,输入以下命令下载python依赖库(先安装pip):

cd /caffe/python
sudo apt-get install python-pip
for req in (catrequirements.txt);dopipinstall req; done

3、编译Caffe
开始编译之前,建议输入以下命令:
make clean

我们来到caffe 文件夹中,将Makefile.config.example 文件复制一份,改名为Makefile.config,然后我们打开这个复本文件,做一些必要的修改。

将原文本如下:
#CPU-only switch (uncomment to build without GPU support).
#cpu_only :=1

改为如下形式:
#CPU-only switch (uncomment to build without GPU support).
cpu_only :=1

将原文本如下:
#Whatever else you find you need goes here.
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/includeLIBRARYDIRS:= (PYTHON_LIB) /usr/local/lib /usr/lib

改为如下形式:
#Whatever else you find you need goes here.
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/include /usr/include/hdf5/serialLIBRARYDIRS:= (PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

将原文本如下:
#NOTE: this is required only if you will compile the python interface.
#
We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include

改为如下形式:
#NOTE: this is required only if you will compile the python interface.
#
We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include

接下来是编译。
这里需要注意四点:
1、这些命令要在caffe路径下执行;
2、若编译报错与numpy有关,往往需要安装numpy:
sudo apt-get install python-numpy
若报错与matplotlib相关,则需要相应安装这个package;
3、若编译出现失败,需要执行make clean 命令,然后重新将四条编译命令再依次执行。
4、在每条编译命令后面加上 -j8 -j16 的命令对提高编译速度很有帮助,将会调用尽可能多的CPU资源进行编译。
下面是编译命令:
make pycaffe
make all
make test
make runtest

4、测试
测试Caffe的Python接口,切换到caffe/python文件目录下,记录下来当前路径,输入以下命令:
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
进入Python环境,输入
import caffe
若没有出现异常,就说明编译成功了。
如果没有报错,证明安装成功。

上面的方法,一旦关闭终端或者打开新终端则失效,如果放到配置文件中,可以永久有效果,命令操作如下:

#A.把环境变量路径放到 ~/.bashrc文件中  
sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc  
#B.使环境变量生效  
source ~/.bashrc 

感谢这位前辈的博文对我配置环境的帮助

http://blog.csdn.net/muzilinxi90/article/details/53673184

github也有一篇文档很好,篇幅原因不再翻译,感兴趣的朋友可以参考一下。

https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

import caffe 出现问题也可以参考这个网站:

http://www.linuxdiyf.com/linux/23093.html

caffe官网给出的教程,第一手的资料,建议阅读:

http://caffe.berkeleyvision.org/installation.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值