无GPU,ubuntu14.04安装caffe及解决问题

来源:互联网 发布:2016全国人口流动数据 编辑:程序博客网 时间:2024/05/23 00:55

开始学习深度学习之后,就来来回回安装了好几次caffe,每次遇到问题都抓瞎的在网上搜索,现在决定把这次的安装记录下来,也供其他人参考。

http://www.voidcn.com/blog/u012746763/article/p-4927865.html
在装caffe的时候主要参考了这篇博客。

  • 避免后面出现问题,先升级

    sudo apt-get update

  • 安装一些基本的包

    sudo apt-get install build-essential

  • 安装ATLAS for Ubuntu

    sudo apt-get install libatlas-base-dev

注:ATLAS, MKL,或OpenBLAS都可以,我这里选择安装ATLAS

  • 安装其他依赖项

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

完成了上述环境的配置,就可以编译Caffe了!

  • 下载caffe安装包,下载地址:https://github.com/BVLC/caffe
    解压该压缩包,解压缩命令:

    sudo unzip /home/username/下载/caffe-master.zip

    注:如果解压位置出错了,可以使用以下命令删除该目录及所有的子目录:

    sudo rm -rf caffe-master

    进入caffe根目录, 首先复制一份Makefile.config,命令:

    cp Makefile.config.example Makefile.config

    然后修改里面的内容,主要需要修改的参数包括:

    1.修改文件权限 规则:chmod [who] [+ | - | =] [mode] 文件名¼

    chmod g+w Makefile.config

    2.打开文件进行修改

    sudo vi Makefile.config

    按“i”键开始修改,修改结束后按esc键,键入“:wq”保存并退出

    修改 将# CPU_ONLY = 1前面的#去掉 并按“tab”键,(默认从tab处执行)
    CPU_ONLY 是否只使用CPU模式,由于我没有NVIDIA的显卡,就没有安装CUDA,因此需要打开这个选项。
    其余的一些配置可以根据需要修改:
    BLAS (使用intel mkl还是OpenBLAS)
    MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
    DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序
    完成上述设置后,开始编译:

    sudo make all -j4
    sudo make test
    sudo make runtest

注意:-j4 是指使用几个线程来同时编译,可以加快速度,j后面的数字可以根据CPU core的个数来决定,如果CPU是4核的,则参数为-j4,也可以不添加这个参数,直接使用“make all”,这样速度可能会慢一点儿。

编译python wrapper


  • 在anaconda官网下载anaconda,比起直接安装python,anaconda已经安装了一些需要库,使用起来更方便,推荐用这个。

bash Anaconda2-4.0.0-Linux-x86_64.sh
根据自己下载的版本安装。

cd 到caffe-master/python下面

sudo gedit ~/.bashrc

这个方式是以文本格式打开的,比较方便。
在文末添加

# add library pathLD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATHexport LD_LIBRARY_PATHLD_LIBRARY_PATH=/home/username/anaconda2/lib:$LD_LIBRARY_PATHexport LD_LIBRARY_PATHexport PYTHONPATH=$PYTHONPATH:/home/username/caffe-master/python 
改完之后要bashrc生效,这一步一定要

source ~/.bashrc

ANACONDA_HOME := $(HOME)/anaconda2 PYTHON_INCLUDE := $(ANACONDA_HOME)/include \        $(ANACONDA_HOME)/include/python2.7 \         $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \WITH_PYTHON_LAYER := 1INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
  • 安装pip和python-dev ,执行
    sudo apt-get install python-dev python-pip

  • cd到caffe-master/python目录下,执行

for req in $(cat requirements.txt); do sudo pip install $req; done
  • cd到caffe-master目录下,编译执行
    sudo make pycaffe
    在caffe-master目录下 ,修改Makefile.config
    然后打开python,import caffe会出现错误
File "<stdin>", line 1, in <module>File "/home/baileyd/caffe/caffe/python/caffe/__init__.py", line 1, in <module> from .pycaffe import Net, SGDSolverFile "/home/baileyd/caffe/caffe/pyton/caffe/pycaffe.py", line 14, in <module> import caffe.ioFile "home/baileyd/caffe/caffe/python/caffe/io.py", line 8, in <module> from caffe.proto import caffe_pb2File "/home/baileyd/caffe/caffe/python/caffe/proto/caffe_pb2.py", line 4, in <module> from google.protobuf.internal import enum_type_wrapper"ImportError: No module named google.protobuf.internal
出现这个问题是因为系统里面有两个python,一个是你装的anaconda,一个是自带的python。要添加anaconda的pip的路径(/home/username/anaconda2/bin/pip).

sudo pip install protobuf
sudo /home/username/anaconda2/bin/pip install protobuf

成功安装参考:http://stackoverflow.com/questions/37666241/importing-caffe-results-in-importerror-no-module-named-google-protobuf-interna**编译matlab wrapper**matlab的下载和安装网上资料很多,这里就不写了,因为添加matlab的接口没有出现什么问题,这里就简单说
  • 在caffe-master目录下 ,修改Makefile.config

    MATLAB_DIR := /usr/local/MATLAB/R2014a

  • cd到caffe-maste目录下,编译执行

    sudo make matcaffe

0 0
原创粉丝点击