您的位置:首页 > Web前端

在Ubuntu 14.04上使用anaconda pyenv来安装caffe cpu only

2016-11-17 14:27 489 查看

在Ubuntu 14.04上使用anaconda pyenv来安装caffe cpu only

caffe是一个很有用法比较广的开源深度学习库,相比Tensorflow个人觉得更简单一点。这段时间有一个在caffe上实现的小任务,所以这几天就在编译caffe 。从一开始的windows到现在的ubuntu,我觉得在ubuntu 上使用caffe是最完美的体验。不管怎样,windows 上也有很多教程,钟情windows的也可以很容易编译成功,我跟着 Microsoft fork 的caffe的教程来一步一步走,也成功编译了caffe-windows cpu版。但是在ubuntu貌似就没有那么简单,因为官方的教程比较简短,很多实现的细节没有说明白,让我走了很多弯路。我也尝试了很多别人的编译方法,但是并不成功,最后看到一篇日文博客,终于成功编译,本博客的内容基本来源于那篇博客,博客链接在底下有声明,不知道国内访问会不会被墙。

- 声明一下,因为 caffe 在更新,教程不一定永远都有用,我编译成功的时间点是2016年11月15日。

准备阶段

在命令行输入

sudo apt-get update


pyenv和Anaconda

适用Anaconda的原因是它管理python的第三方库非常方便。当然你可以python的system自带的版本,只是会麻烦点,很多库需要自己手动安装。适用pyenv的原因是它可以帮助我们管理系统中默认的python版本,因为我们安装了anaconda后系统仍然会优先选择system的python版本,如果不使用pyenv在编译时会出现 找不到usr/lib/python.h 的问题。

下面时安装pyenv,并且讲pyenv的路径添加到环境变量中去

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc


然后我们检查一下我们可以使用pyenv安装的anaconda版本

$ pyenv install -l | grep anaconda2
anaconda2-2.4.0
anaconda2-2.4.1
anaconda2-2.5.0
anaconda2-4.0.0
anaconda2-4.1.0
anaconda2-4.1.1


我安装的是 anaconda2-4.0.0

并且我要设置 anaconda2-4.0.0 下的python目录为系统的默认python

$ pyenv install anaconda2-4.0.0
$ pyenv rehash
$ pyenv global anaconda2-4.0.0
$ echo 'alias activat="source $PYENV_ROOT/versions/anaconda2-4.0.0/bin/activate"' >> ~/.bashrc


现在我们可以看下python的版本了

$ python
Python 2.7.12 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org[/code] 
如果你输入 python 后输入出的结果提示不是Anaconda路径下的话,那么你就要找问题了,直到解决了这个问题才能进行下一步,不然编译时必然会报错。

安装必要的软件包

命令行输入

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler


然后还要安装OpenCV,我这里安装的OpenCV是2.4的版本,如果想安装3.0版本的也可以,但是需要手动编译。如果安装2.4的直接使用 coanda安装就可以了,所以说conda大法好!

$ conda install opencv
$ conda list opencv
opencv                    2.4.10              np110py27_1
$ python
>>import cv2


如果上述代码通过,那么opencv就安装成功了。

安装Boost库

$ sudo apt-get install -y --no-install-recommends libboost-all-dev
$ sudo apt-get install -y libatlas-base-dev


-安装gflag, glog 和LMDB库

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


编译caffe

从github中克隆下来

$ git clone https://github.com/BVLC/caffe.git ~/caffe
$ cd caffe


修改参数

打开Makefile.config,配置参数

$ cp Makefile.config.example Makefile.config
$ vi Makefile.config


然后修改参数,因为我的是电脑是双显卡,Ubuntu上使用独显驱动一直不成功,折腾了我好长时间啊!!这当然归功于NVIDIA个坑爹了,Linus先生就曾公开对NVIDIA竖过中指哈哈。

下面我只讲我修改过的部分,如果你也是配置cpu版本的,只需要修改我列出来的代码就可以了。

CPU_ONLY := 1
#PYTHON_INCLUDE := /usr/include/python2.7 \
#               /usr/lib/python2.7/dist-packages/numpy/core/include
ANACONDA_HOME := $(PYENV_ROOT)/versions/anaconda2-4.0.0
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


caffe编译时可能会出现未发现libgtk-x11-2.0.so.0,所以可以先安装libgtk2.0-0

$ sudo apt-get install libgtk2.0-0
$ echo "export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$PYENV_ROOT/versions/anaconda2-4.0.0/lib" >> ~/.bashrc
$ source ~/.bashrc


编译caffe

cd ~/caffe
$ make all
$ make test
$ make runtest


编译caffe python接口

-首先我们需要安装一些第三方的依赖库,这些依赖在caffe/python/requirements.txt 也已经声明了出来,所以我们直接执行就可以批量安装这些依赖了。但是这可能需要一点点时间。

$ cd ~/caffe
$ pip install --update pip
$ pip install -r ./python/requirements.txt


依赖安装完成之后,我们就可以编译python接口了

make pycaffe
make pytest


等到pycaffe已经安装完成了,我们也需要添加pycaffe的路径到环境变量中

$ echo "export PYTHONPATH=$PYTHONPATH:$HOME/caffe/python" >> ~/.bashrc
$ source ~/.bashrc


到这一步,你可以检验一下你是否能够成功使用caffe

$ python
>> import caffe


到这一步,如果你import,那么就代表你已经大功告成了!

最后,你还可以尝试测试一下caffe官方给的例子

$ cd ~/caffe/examples
$ ipython notebook


最后你可以看到浏览器打开了caffe/examples路径,你可以尽情尝试里面的例子!enjoy! :)

最后感谢这些天阅读到的博文,同时希望这篇博文对你也有用。

参考:CaffeをCPUモードでpyenvとAnacondaを使いUbuntu 14.04にインストールする
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息