ubuntu14.04+CUDA7.0+cuDNN-v2+OPENCV3.0 caffe环境配置

之前参考欧老师的这篇博客配置成功了,但是不知道后来哪一个误操作使得系统无法登陆,输入密码后屏幕闪一下就退回到登陆界面了,在网上找了各种方法,换了各种桌面及管理器,都无法解决问题。只好狠下心来重装。。。顺便记录一下两次安装过程中遇到的问题及最后的解决方法。

1. 安装Ubuntu14.04。下载地址:http://releases.ubuntu.com/14.04/,选择了ubuntu-14.04.2-desktop-amd64.iso, 根分区80G,交换分区16G(内存的2倍规则),剩下的都交给/home。电脑上就安装这一个系统,不存在其他多系统可能出现的问题。

2. 安装NVIDIA驱动和CUDA TOOLKIT。这里只使用DEB的安装方法,简单,不容易出错。将NVIDIA驱动包DEB下载到本地安装,下载地址:https://developer.nvidia.com/cuda-downloads#linux,选择对应版本的DEB离线包。下载完成后到文件目录,安装驱动:

$ sudo dpkg -i cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb
$ sudo apt-get update


安装CUDA TOOLKIT:

$ sudo apt-get install -y cuda
这一步由于安装好系统后为了加快apt-get的速度就把源换成了网易的源,但是在这一步的时候,第一次安装的时候正常,第二次安装的时候总是报cuda没有安装的错误,换成原来的源就可以了。

设置CUDA环境变量及配置文件:

$ export CUDA_HOME=/usr/local/cuda-7.0
$ export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
$ PATH=${CUDA_HOME}/bin:${PATH}
$ export PATH
$ sudo gedit /etc/ld.so.conf.d/cuda.conf
添加下面两行:
/usr/local/cuda/lib64
/lib

3. 安装Matlab及python。根据自己的情况下载安装,需要注意matlab2014a/2015a的与ubuntugcc/g++编译器版本不一致问题需要解决。Matlab:4.7,ubuntu14.04: 4.8,因此,选择将ubuntu中的版本降低以达到一致:

$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.7 gcc
$ sudo rm g++
$ sudo ln -s g++-4.7 g++
$ sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6.0.19
$ sudo mv libstdc++.so.6 libstdc++.so.6.backup
$ sudo ln -s libstdc++.so.6.0.19 libstdc++.so.6
$ sudo ldconfig -v

4. 安装MKL。在 这里申请学生版,注册好了之后在邮件中会有下载地址和序列号。下载完成之后,解压,转到文件目录:
$ chmod a+x parallel_studio_xe_2015 -R
$ sudo ./install_GUI.sh


创建配置文件:

$ sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
添加下面两行:
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64

5. 安装OPENCV3.0.0。两次使用修改版的安装包总是报各种错误。这里使用官网上下载的源包,手动编译安装。

安装依赖项:

$ sudo apt-get -y install libopencv-dev build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils

 下载OPENCV3.0的安装包: 
https://codeload.github.com/Itseez/opencv/zip/3.0.0,解压后进入目录。在我这里,可能是被墙原因,ippicv_linux_20141027.tgz文件一直无法现在,因此,手动下载该文件: 
http://iweb.dl.sourceforge.net/project/opencvlibrary/3rdparty/ippicv/ippicv_linux_20141027.tgz,并将该文件放至:opencv-3.0.0/3rdparty/ippicv/downloads/的最底层目录。在opencv3.0.0目录执行: 

$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
 
$ make -j8
$ sudo make install
$ sudo ldconfig

 

6. 安装glog。下载地址: https://code.google.com/p/google-glog/downloads/list,下载后解压,进入文件目录,执行:

$ tar zxvf glog-0.3.3.tar.gz
$ ./configure
$ make
$ sudo make install

7. 安装cuDNN。这是个好东东,能很大的限度的进一步提高gpu训练速度。这个下载比较纠结,需要到NVIDIA官网上注册开发者账号,人工审核后再申请,最后才能下载。这里直接给出下载链接,仅用于学习研究,等不及的可以从 这里下载。解压后进入目录执行:

$ sudo cp cudnn.h /usr/local/include
$ sudo cp libcudnn.so /usr/local/lib
$ sudo cp libcudnn.so.6.5 /usr/local/lib
$ sudo cp libcudnn.so.6.5.48 /usr/local/lib
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v

 

8. 安装其他依赖项:

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libboost-all-dev libhdf5-serial-dev
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
$ sudo apt-get install -y python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

9. 安装caffe。从 这里下载caffe最新的源包。

编辑Makefile.config文件:

$ cp Makefile.config.example Makefile.config
USE_CUDNN := 1 启用CUDNN
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
BLAS := mkl
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a
 

编辑Makefile:

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc <strong>opencv_imgcodecs</strong>

在caffe-master目录下,分别编译:

$ make all -j8
$ make test -j8
$ make runtest -j8
$ make pycaffe -j8
$ make matcaffe -j8

测试:

$ sh data/mnist/get_mnist.sh
$ sh examples/mnist/create_mnist.sh
$ sh examples/mnist/train_lenet.sh


PS:

1. 国内的源速度比较好,应该是没有问题的,但是不知道怎么回事,有时候莫名其妙的报错,换回原来的源就搞定了,所以当遇到问题是推荐换回原来的源试一下。

2. caffe配置好比较花费时间,慎用sudo apt-get upgrade。。。







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值