自由Man

【亲测】caffe+Ubuntu14.0.4 64bit 环境配置说明

caffe是一个简洁高效的深度学习框架,具体介绍可以看这里http://caffe.berkeleyvision.org/,caffe环境配置过程可以参考这里:http://caffe.berkeleyvision.org/installation.html,我在搭建环境时搜集了许多资料,参考安装配置说明http://blog.csdn.net/liuxiabing150/article/details/42503389,里面存在一些问题,现根据安装过程存在问题,整理安装文档资料如下:

1. 安装build-essentials

执行命令:

sudo apt-get install build-essential  

如果出现essential包不可用的情况,可以执行下列命令解决:

  sudo apt-get update  


2. 安装ATLAS for Ubuntu

执行命令:

          sudo apt-get install libatlas-base-dev  

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


3. 安装OpenCV

   这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV下载该脚本,解压命令:

          unzip /home/winsolider/Downloads/Install-OpenCV-master.zip  

    进入解压后的文件中的Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限:

      cd (解压目录)/Install-OpenCV-master/Ubuntu/2.4

        chmod +x *.sh  

      然后安装OpenCV (有多个版本可选),例如安装2.4.9,执行命令:

  sudo ./opencv2_4_9.sh  

4. 安装其他依赖项

      Ubuntu14.04用户执行


    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  

  使用其它系统的可以参考官网介绍。

  注:如果上述命令运行时,系统提示“存在依赖关系,不能安装之类的”,可以使用


  sudo apt-get update  

 之后如果还存在问题,可以分开,一个一个单独安装,例如:

sudo apt-get install libprotobuf-dev   

sudo apt-get install libleveldb-dev   

如果还是不能安装,可以在“Ubuntu软件中心-编辑-软件源”中的“更新”中选择前两个,即“重要安全更新”,“推荐更新”,其他都不选,之后在“其它软件”中选择后两个,即两个“独立”,其他都不选,然后运行命令:


sudo apt-get update  


之后再运行安装命令即可安装成功。


5. 安装python

安装pip和python-dev (系统默认有python环境的, 不过我们需要的使python-dev)


   sudo apt-get install python-dev python-pip  



6. 安装matlab


 6.1 下载Matlab:http://pan.baidu.com/s/1pJGF5ov [Matlab2014a(密码:en52)]



6.2 挂载iso(需新建matlab_iso文件夹):


      $ sudo mount -o loop MATHWORKS_R2014A.iso ~/matlab_iso



6.3 开始安装:


     $ cd ~/matlab_iso

    $ sudo ./install



6.4 选择”install manually without using the internet"项进行安装



6.5 输入"file installation key":12345-67890-12345-67890(随便都行)



6.6 激活:选择”license_405329_R2014a.lic”文件进行激活(在Crack文件夹下面)



6.7 将libmwservices.so复制到/usr/local/MATLAB/R2014a/bin/glnxa64中:


    $ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/  libmwservices.so



6.8 创建matlab启动栏快捷方式:

      打开软件中心,搜索matlab,点击install;

      安装路径填入:


      /usr/local/MATLAB/R2014a


    用户权限不填,表示全部用户可用;gcc不填


7. 编译Caffe

    7.1 下载caffe安装包

          下载地址:https://github.com/BVLC/caffe,解压命令:


  unzip /home/winsolider/Downloads/caffe-master.zip  

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


  sudo rm -rf caffe-master  


    7.2 安装编译caffe python wrapper 所需要的额外包

       (注意:需要先进入caffe解压目录/caffe-master/python/下)

  cd (解压目录)/caffe-master/python

    for req in $(cat requirements.txt); do sudo pip install $req; done  

7.3安装完成后,打开bashrc,添加环境变量PYTHONPATH,相关命令如下所示:


echo $PYTHONPATH  

vi ~/.bashrc  

          打开bashrc之后,在最后一行添加下列语句:


export PYTHONPATH=/home/liuxiabing/caffe-master/python  


          保存并退出之后,执行下列命令使之立即生效:


sudo ldconfig 

  

  使用下列命令查看当前的PYTHONPATH内容:


echo $PYTHONPATH  


如果PYTHONPATH中是空的,需要在命令行执行一下下列命令:


export PYTHONPATH=/home/Downloads/caffe-master/python 


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


cp Makefile.config.example Makefile.config  

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

    CPU_ONLY 是否只使用CPU模式,由于我没有NVIDIA的显卡,就没有安装CUDA,因此需要打开这个选项(即把前面的#去掉)。
    其余的一些配置可以根据需要修改:
    BLAS (使用intel mkl还是OpenBLAS,默认是atlas,如果安装的是atlas,就不用修改了)
    MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2014a (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)

    我的MATLAB_DIR修改完是这样的:


MATLAB_DIR := /usr/local/MATLAB/R2014a  

# MATLAB_DIR := /Applications/MATLAB_R2012b.app  


    关于python的配置,我没有修改,直接使用默认的就行了。

    DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序

注:在Makefile.config中,"#"表示注释

    完成上述设置后,开始编译(编译也是在/caffe-master目录下进行的):  


make all -j4  

make test  

make runtest  

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

   注:如果编译后出错了,修改完配置文件Makefile.config后重新编译,会提示“make 没有什么可编译的了”,可以试试这个方法:先运行命令


make clean  


   之后再运行命令:


make all  

make test  

make runtest  


8.编译matlab wrapper


在根目录下(/caffe-master)执行命令:


make matcaffe  




9.编译python wrapper

在根目录下(/caffe-master)执行命令:


make pycaffe  


10.使用MNIST数据集进行测试

    Caffe默认情况会安装在$CAFFE_ROOT,就是解压到的那个目录,例如:$ home/username/caffe-master,所以下面的工作,

默认已经切换到了该工作目录。下面的工作主要是测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:

http://caffe.berkeleyvision.org/gathered/examples/mnist.html

    (1)数据预处理

    可以用下载好的数据集,也可以重新下载,直接下载的具体操作如下:


$ cd data/mnist  

$ sudo sh ./get_mnist.sh  

       (2)重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式,执行命令如下: 


$ sudo sh ./examples/mnist/create_mnist.sh  

       生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集

      (3)训练mnist
      如果没有GPU,只有CPU的话,需要先修改examples/mnist目录下lenet_solver.prototxt文件,将solver_mode:GPU改为      solver_mode:CPU,修改后结果如下所示:


# solver mode: CPU or GPU  

solver_mode: CPU  

    修改时可以使用vi编辑命令(ubuntu14.0.4下也可以直接双击打开,修改后保存即可),如果是只读文件,不能编辑,可以用sudo命令,比如:


sudo vi lenet_solver.prototxt  

     先进入命令模式,使用a进入编辑模式,修改完之后,使用esc退出编辑模式,进入末行模式,再使用“:wq”保存修改并退出(“:q!”为退出但不保存修改)
   修改完成后,再在根目录下(即/caffe-master目录)执行下面的命令进行训练:


$ sudo sh ./examples/mnist/train_lenet.sh  

     最终训练完的模型存储为一个二进制的protobuf文件,至此,Caffe安装测试的所有步骤完结。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero Theme By 爱墙纸

Copyright ZiYouMan.cn. All Rights Reserved. 蜀ICP备15004526号