Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程

阅读前必读

本文是参考 Cuda官网,Caffe官网 上的安装教程以及网上众多大神的配置文章后一边配置一边写的,中途遇到很多坑,最后抹着眼泪终于把caffe环境搭好,最大的感触就是网上好多教程都已经过时了,因此安装过程会碰到许多新问题,真的十分感谢中途给过我帮助的几个大神。

Caffe 安装

Caffe安装基本按照官网安装教程,首先介绍没有GPU的安装方法,有GPU的只需要在最后一步修改然后重新编译即可,详细见后面。

  • 安装依赖库(一)
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev

耐心等待安装完毕,执行下一步

  • 安装BLAS
    也可以安装OpenBLAS或者MKL,以加速CPU性能(有GPU的童鞋可以忽略),这里我按照官网装了BLAS,有兴趣的童鞋可以自己研究另外两种,只需在最后编译caffe的时候修改一下配置文件即可。
& sudo apt-get install libatlas-base-dev
  • Python安装
    Ubuntu 14.04 自带Python 2.7 ,无需自行安装。

  • Opencv安装
    安装方法详见Ubuntu14.04安装OpenCV3.0,Opencv必须安装,且版本需要大于2.4

  • Matlab安装
    由于我基本不使用matcaffe,所以这里不提供安装方法,需要用到的朋友自行百度哈

  • 安装依赖库(二)

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
  • Caffe下载
    直接从github下载最新版本,下载前切换到home目录
$ cd ~
$ git clone git://github.com/BVLC/caffe.git
  • 编译Caffe前工作

    1.修改Makefile
    仔细看过以前的教程都会知道,如果安装的opencv是3.0,则需要修改makefile文件,但是新版的caffe已经帮我们修改好了,所以如果安装的是最新的caffe这一步可以跳过。

    2.修改caffe/examples/cpp_classification/classification.cpp文件,加入:

#include <opencv2/imgproc/types_c.h>
#include <opencv2/objdetect/objdetect_c.h>
  • 编译Caffe
$ cd ~/caffe
$ cp Makefile.config.example Makefile.config
# 修改Makefile.config文件:如果没有GPU,则去掉CPU_ONLY:= 1的注释
# 如果安装了Opencv3.0,去掉 OPENCV_VERSION := 3的注释
$ make all
$ make test
$ make runtest

Nvidia显卡驱动以及Cuda下载安装

如果你的机器还没有装GPU,请直接忽略这一步和cuDNN安装

  • Cuda
    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
  • 验证你的gpu支持是否支持Cuda
    打开支持Cuda运算的Gpu列表,只要你的GPU在里面找得到就没问题
  • 查看当前使用显卡
    在terminal输入以下命令,确认当前使用的是独立显卡,如果使用的是集显,则需要在开机时进入BIOS关闭集显。
$ lspci | grep -i nvidia
  • 确认你的系统是X86架构,可通过下面的命令查询
 $ uname -m && cat /etc/*release
  • 安装gcc
    Ubuntu 14.04已经自带gcc 4.8.4,无需自行下载,检查gcc版本可通过如下方法:
 $ gcc --version

如果发现还没安装gcc,可以执行$ sudo apt-get install gcc-×××

  • 下载Cuda
    Cuda可以直接到Nvidia官网下载,下面官网的下载地址,有两种安装方式(.run 和 .deb),这里只介绍后者,因为比较简单易行。
    这里选择下载信息如下图:
    Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程_第1张图片

  • 验证Cuda安装包

$ md5sum filename

如果下载没出错,那得到的MD5序列号和上图中是一致的,否则只能重新下载。

  • 卸载旧版本(如果为新电脑没装过驱动可跳过此步)
    根据官网介绍,之前安装的版本都会有冲突的嫌疑。卸载命令:
$ sudo apt-get --purge remove nvidia*
  • 安装Cuda
    cd进cuda安装包所在的目录,执行以下命令
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
  • 添加环境变量
$ sudo gedit /etc/profile
# 在末尾添加(注意自己的Cuda版本):
# export PATH=/usr/local/cuda-7.5/bin:$PATH
# export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
$ source /etc/profile
$ sudo reboot
  • 安装历程
# 历程本来在/usr/local/cuda-7.5/samples路径下,但不可写
# 下面这句实质只是简单复制而已
$ cuda-install-samples-7.5.sh ~/cuda
  • 查看GPU驱动版本、Cuda版本:
    正常安装的话,会出现版本信息,如果没出现说明安装出错,官网教程说的很清楚
$ cat /proc/driver/nvidia/version
$ nvcc -V
  • 编译
    cd进NVIDIA_CUDA-7.5_Samples中make:
$ cd ~/cuda/NVIDIA_CUDA-7.5_Samples
$ make
# 编译结果在 ~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release中
  • 执行编译结果,确认安装配置
$ cd
$ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/deviceQuery

顺利的话如下图所示,若出错可参考此处
Ubuntu 14.04 + Caffe + Cuda 7.5 + Opencv 3.0安装教程_第2张图片

  • bandwidthTest确认
 $ ./~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/bandwidthTest

确认结果如下图所示则安装成功

安装cuDNN

  • 下载cuDNN
    可以从英伟达官网下载,一般注册第二天就通过。
  • 安装
    解压下载好的文件,一般在文件所在的目录会出现一个cuda的新文件夹
$ tar -xzvf cudnn-7.5-linux-x64-v3.0-rc.tgz
$ cd cudnn/lib64/
$ sudo cp lib* /usr/local/cuda/lib64/
$ cd ..
$ cd include
$ sudo cp cudnn.h /usr/local/cuda/include
  • 重新编译caffe
    在~/caffe/Makefile.config中,去掉 USE_CUDNN := 1的注释,重新加上CPU_ONLY:= 1的注释然后重新编译caffe即可。
$ make clean
# 第一次编译不用这句
$ make all
$ make test
$ make runtest 

配置pycaffe

  • 安装依赖库
    没错又和依赖库见面了,觉的有点烦但是没办法。
$ sudo apt-get install 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
$ sudo apt-get install protobuf-c-compiler protobuf-compiler
  • 编译
    进入caffe目录,编译pycaffe
$ cd ~/caffe
$ make pycaffe
  • 修改环境变量
    添加caffe目录下的python地址到$PYTHONPATH
$ sudo gedit /etc/profile
# 末尾添加: export PYTHONPATH = caffe目录下的python地址:$PYTHONPATH
# 用完整路径,不要用~
$ source /etc/profile # 使之生效
  • 测试
    在terminal进入python,import caffe 如果没错说明安装成功
$ python
Python 2.7.6 (default, Nov 17 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> 

配置matcaffe

没安装matlab的童鞋可以忽略,非必需。方法和pycaffe差不多,但需要先降级gcc,编译后需要添加工作空间,有兴趣的同学自行百度,很多教程。

至此结束,有疑问可以评论我看到一般会回复,请大家多指教

你可能感兴趣的:(ubuntu,CUDA,opencv,caffe)