开源深度学习框架Caffe在Ubuntu14.04下的搭建

General dependencies

 

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install build-essential

sudo apt-get installvim cmake git

 一、NVIDIA CUDA Toolkit的安装(*.deb方法)


1、CUDA Repository

获取CUDA安装包,安装包请自行去NVidia官网下载。(https://developer.nvidia.com/cuda-downloads

$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64

$ sudo apt-get update

2、CUDA Toolkit

$ sudo apt-get install -y cuda

3、设置环境变量

在/etc/profile中添加CUDA环境变量

sudo gedit /etc/profile

PATH=/usr/local/cuda/bin:$PATH  

export PATH  

保存后,执行下列命令,使环境变量立即生效

source /etc/profile  

同时需要添加lib库路径: 在 /etc/ld.so.conf.d/加入文件cuda.conf,内容如下

$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

/lib

保存后,执行下列命令使之立刻生效

$ sudo ldconfig -v

4、安装结果验证

(1)​输入nvcc -V

(2)​$ cat /proc/driver/nvidia/version

(3)进入/usr/local/cuda/samples,执行下列命令来build samples

 

  1. sudo make all -j4 

  2.  

    整个过程大概10分钟左右,全部编译完成后, 进入samples/bin/x86_64/linux/release,运行deviceQuery

  3.  

    ./deviceQuery

  4.  

    如果出现显卡信息, 则驱动及显卡安装成功:

     

  5. 二、Matlab安装和调试(以Matlab 2015b为例)


  6.  

  7. 1.预准备

    选择R2015b_glnxa64.iso- 右键 -使用磁盘映像挂载器打开”,进入装载的虚拟光盘,拷贝全部文件至home/Matlab文件夹

    2.授权安装文件夹

    $ chmod a+x Matlab -R

    3.安装

    $ sudo ./install

    选项:不使用Internet安装

    序列号:54422-40402-23817-20808-30933

    默认路径:/usr/local/MATLAB/R2015b

    激活文件:Matlab_R2015b_glnxa64.lic(这里需要注意的是默认下,/usr/local/MATLAB/R2015b/bin/glnxa64目录下的文件是不可更改的,必须使用root权限。

          Ubuntu下切换root权限的命令:sudo su(之后输入root密码))

    拷贝 libmwservices.so至 /usr/local/MATLAB/R2015b/bin/glnxa64

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

    4.解决编译器gcc/g++版本问题。

    因为Ubuntu 14.04的gcc/g++版本是4.8.2,而Matlab 2015b的版本是4.7.x所以在使用matla调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下步解决方案。

    降级安装gcc/g++版本为4.7.x

    (a).下载gcc/g++ 4.7.x

    $ sudo apt-get install -y gcc-4.7

    $ sudo apt-get install -y g++-4.7

    (b).链接gcc/g++实现降级

    $ cd /usr/bin

    $ sudo rm gcc

    $ sudo ln -s gcc-4.7 gcc

    $ sudo rm g++

    $ sudo ln -s g++-4.7 g++

  8. 至此完成全部安装,在终端输入“

    /usr/local/MATLAB/R2015/bin/matlab”开始使用MATLAB

  9.  

    5.环境变量


  10.  

    环境变量 sudo gedit ~/.bashrc

    export PATH=/usr/local/MATLAB/R2015b/bin:$PATH

    这样在终端输入matlab可直接打开。

    6.在启动器建立matlab快捷方式

    sudo gedit /usr/share/applications/matlab.desktop

    [Desktop Entry]

    Name=matlab

    Name[zh_CN]=matlab

    Comment=matlab

    Exec=/usr/local/MATLAB/R2015b/bin/matlab -desktop

    Icon=/usr/local/MATLAB/R2015b/toolbox/nnet/nnresource/icons/matlab.png

    Terminal=false

    Type=Application

    Categories=Application;

    Encoding=UTF-8

    StartupNotify=true

    如果遇到问题可以采用以下解决方式

    Errors and Solutions:

    1. "Cannot write to preference file "matlab.prf" in "/home/user_name/.matlab/R2015b."

    sudo chown user_name /home/user_name/.matlab/R2015b/matlab.prf

     2. "The desktop configuration was not saved successfully"

    sudo chmod a+w -R /home/user_name/.matlab/R2015b(或者just $ chmod 777 a+w -R .matlab)

  11. 三、安装BLAS


  12.  

  13. 1.这里可以选择(ATLAS,MKL或者OpenBLAS)

  14. 我这里使用MKL,首先下载并安装英特尔®数学内核库 Linux*版MKL(Intel(R) Parallel Studio XE Cluster Edition for Linux 2016),下载链接是:https://software.intel.com/en-us/intel-education-offerings, 使用学生身份(邮件 +学校)下载Student版,填好各种信息,可以直接下载,同时会给你一个邮件告知序列号。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。


    2.接下来是安装过程,先授权,然后安装:

    $ tar zxvf parallel_studio_xe_2016.tar.gz (如果你是直接拷贝压缩文件过来的)

    $ chmod a+x parallel_studio_xe_2016 -R

    $ sh install_GUI.sh

    PS:安装的时候,建议使用root权限安装,过程中会要求输入Linux的root口令。(设置方法:命令行:$ sudo passwd)

    3.MKL的环境设置

    新建intel_mkl.conf, 并编辑之:

    $ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

    /opt/intel/lib/intel64

    /opt/intel/mkl/lib/intel64


  15. 四、安装其他依赖项glog


    1. Google Logging Library(glog),下载地址:https://code.google.com/p/google-glog/

  16. 2.然后解压安装:

    $ tar zxvf glog-0.3.3.tar.gz

    $ ./configure

    $ make

    $ sudo make install

    如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。


  17. 五、安装配置NVIDIA CUDNN 加速Caffe模型运算​

  18. a. 安装前请去先官网下载最新的cuDNN (cudnn-7.0-linux-x64-v4.0-prod)。

    $ sudo cp include/cudnn.h /usr/local/include

    $ sudo cp lib64/libcudnn.* /usr/local/lib

    b. 链接cuDNN的库文件

    $ sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4

    $ sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so

    $ sudo ldconfig -v


  19. 六、安装Anaconda Python distribution

  20.  

    1、下载安装包,下载地址:https://store.continuum.io/cshop/anaconda/

  21. 2、直接运行下载文件:sudo chmod +x Anaconda-2.4.0-Linux-x86_64.sh

  22. sudo ./Anaconda-2.4.0-Linux-x86_64.sh

  23. 3 、设置环境变量:sudo gedit /etc/profile

  24. 添加内容:PATH=/home/zya/anaconda2/bin:$PATHexport PATH

  25. 4、 如果Caffe用Python端口的话,需要添加路径到/etc/profile:

  26. 添加内容:PYTHONPATH=/home/zya/caffe/python:$PYTHONPATH

  27. export PYTHONPATH

  28. 5、保存并退出,使环境变量生效:source /etc/profile

  29. PS:安装Anaconda包,这个包独立与系统自带Python库,并且提供大部分Caffe需要的科学运算库,需要注意的是当运行Caffe时,可能会报一些找不到libxxx.so的错误,而用locate libxxx.so命令发现已经安装在anaconda2中,此时可在/etc/bash.bashrc中加入library path: LD_LIBRARY_PATH=/home/zya/anaconda2/lib:$LD_LIBRARY_PATH

  30. export LD_LIBRARY_PATH

  31. 然后执行生效:sudo ldconfig


  32. 七、安装OpenCV 2.4.12

  33.  

    1.下载并编译OpenCV(官网原版OpenCV:http://opencv.org/), 或者使用github提供的修改版的安装包(下面的安装方式利用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件)

    2.切换到文件保存的文件夹,然后安装依赖项:

    $ sudo sh Ubuntu/dependencies.sh

    3.切换目录Ubuntu\3.0\安装OpenCV 3.0.0:

    $ sudo sh opencv3_0_0.sh

    保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。,

    4.以上方法太慢了,另一个非常好的小trick是自己去

    opencv

    官网下载安装包然后放到上面方法创建的OpenCV文件夹中,然后修改

    opencv3_0_0.sh

    文件内容,比如我是安装2.4.12就可以注释掉

    #echo "downloading OpenCV 3.0.0"

    #wget -O OpenCV-3.0.0.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.0.0/opencv-3.0.0zip/download#echo "Installing OpenCV 3.0.0"

    然后把其余 3.0.0换为2.4.12即可。

  34. 最后把自己下载的​2.4.12安装包放在原来存放网络下载的目录下即可。

  35. 当然你也可以自己安装所有的dependencies,然后自己cmake opencv源码。

  36. (1)下载OpenCV的源码,解压到任意目录


    1. unzip opencv-2.4.12.zip

    (2)进入源码目录,创建release目录

    1. cd opencv-2.4.12

    • mkdir release  

    (3)可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件

    1. sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev  

    (4)进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下

    1. cd release  

    (5)cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下

    1. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

    (6) 安装

  37. make​

    1. sudo make install  


    ​​

  38. 5.环境变量

  39. 下面配置library,打开/etc/ld.so.conf.d/opencv.conf,在末尾加入/usr/local/lib    (一般已经默认添加了,不放心可以打开看看,没有的话就加上)

    然后 

    sudo ldconfig
    

    然后编辑/etc/bash.bashrc

    加入PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

    ​​

  40. 6.验证

  41. 可以编译运行opencv samples中的例程或者自己写一个简单的显示图片的小例子来验证是否安装成功

  42. 测试,在某个目录下建立一个test.cpp文件

    #include  #include    using namespace cv;    int main(int argc, char* argv[])  {      Mat image;      image = imread(argv[1], 1);        if (argc != 2 || !image.data)       {          printf("No image data\n");          return -1;      }        namedWindow("Display Image", CV_WINDOW_AUTOSIZE);      imshow("Display Image", image);      waitKey(0);      return 0;  }

     

    写一个cmake的makefile,也叫CMakeLists.txt

    project(test)  find_package(OpenCV REQUIRED)  add_executable(test test)  target_link_libraries(test ${OpenCV_LIBS})  cmake_minimum_required(VERSION 2.8)

     编译+运行

    1. cmake .  

    • make  

    • 得到可执行文件test

    随便弄个jpg图片做个测试,注意要和上面那个可执行文件放在同一目录下面,我这里名字取的是test.jpg。

    ./test   test.jpg    如果能看到照片,那就表示成功了。

    还可以使用IDE(CodeBlocks、Qt、Eclipse等)编译运行,也可以直接终端命令行编译​g++ `pkg-config --cflags --libs opencv` test.cpp-o test进行编译。


  43. 八、最后依赖项添加确保成功

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

  45. 安装pycaffe必须的一些依赖项:

    $ sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

  46. 九、编译Caffe

  47. 1.切换到Caffe-master的文件夹,生成Makefile.config配置文件,执行:

    $ cp Makefile.config.example Makefile.config

  48. 2.配置Makefile.config文件(仅列出修改部分)

  49. a. 启用CUDNN,去掉"#"

USE_CUDNN := 1

b. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

c. 启用Intel Parallel Studio XE 2016

BLAS := mkl

d. 配置路径,实现caffe对Python和Matlab接口的支持

PYTHON_LIB := /usr/lib

MATLAB_DIR := /usr/local/MATLAB/R2015b

3.​编译caffe-master!!!"-j4"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ sudo make all -j4

$ sudo make test -j4

$ sudo make runtest -j4

编译Python和Matlab用到的caffe文件

$sudo  make pycaffe -j4

$sudo  make matcaffe -j4


十、使用MNIST数据集进行测试

Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正 常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples /mnist.html

1. 数据预处理

$ sh data/mnist/get_mnist.sh

2. 重建lmdb文件。Caffe支持多种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,HDF5等,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh

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

3. 训练mnist

$ sh examples/mnist/train_lenet.sh

至此,Caffe安装的所有步骤完结!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值