安装ubuntu16.04+cuda8.0+caffe+python+matlab+opencv3.0

来源:互联网 发布:和网络有关的英文单词 编辑:程序博客网 时间:2024/05/24 07:38

文章参考来之:http://blog.csdn.net/autocyz/article/details/52299889

本文只是为了本人自己下次安装有的参考,所做的记录。所以,大部分内容来自上面的参考博客(这只是个人为了下次方便,由于设计版权问题,所以建议大家还是去回原作者那里阅读。如果,遇到什么问题可以在借鉴本博客的方法!)。在结合自己机子遇到的情况加以修改!

1、安装nvidia驱动

首先去官网上查看适合你GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)

例如,本人的GPU适合的驱动如图:

这里写图片描述

执行如下语句:

sudo add-apt-repository ppa:graphics-drivers/ppasudo apt-get updatesudo apt-get install nvidia-367sudo apt-get install mesa-common-devsudo apt-get install freeglut3-dev

原文是用下载文件安装的。但是这样可能会出现进不了图形化界面!所以,我选择了用ubuntu16.04图形化下自带的nvidia-367驱动。

操作如下:

system settings--->system下:Software&Updates--->更改下载源(下载软件加速效果)Download from: 改为aliyun--->Additional Drivers(从上面的查看中适合自己的版本,选择nvidia版本越高越好!)


执行完上述后,重启(reboot)。
重启后输入:

nvidia-smi

如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过
nvidia-settings

查看自己机器上详细的GPU信息,本人机器的信息如下:

这里写图片描述


2、安装CUDAcuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda

从这里下载cuda的安装文件 

https://developer.nvidia.com/cuda-release-candidate-download

这里写图片描述


我下载的是deb文件。

sudo dpkg -i xxxxxx.deb(下载的文件名)sudo apt-get updatesudo apt-get install cuda


这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt

安装完成后写入路径:sudo gedit /etc/profile#最后添加export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}source /etc/profile 


3、测试cuda的Samples

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuerymakesudo ./deviceQuery

如果显示的是一些关于GPU的信息,则说明安装成功了。(最后显示是PASS不是Faile!)

4、使用cudnn

首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)

这里写图片描述

下载完cudnn5.0之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作

sudo cp cudnn.h /usr/local/cuda/include/    #复制头文件

再将cd进入lib64目录下的动态文件进行复制和链接

sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5    #删除原有动态文件sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5  #生成软衔接sudo ln -s libcudnn.so.5 libcudnn.so      #生成软链接sudo ldconfig   #更新链接,不然编译caffe会出现找不到cudnn的文件路径错误!

5、matlab的安装与配置

在网盘上下载安装包http://pan.baidu.com/s/1nuKJc9N。里面有一个crack文件夹,用于破解;MATHWORKS_R2014A.iso用于安装。(最好用百度的专门下载软件!)

1、挂载iso(需新建matlab_iso文件夹):   sudo mount -o loop MATHWORKS_R2014A.iso ~/matlab_is2、开始安装:   cd ~/matlab_iso   sudo ./install3、选择不联网安装4、密钥随便输入,比如 12345-67890-12345-678905、激活:选择”license_405329_R2014a.lic”文件进行激活(在Crack文件夹下面)6、将libmwservices.so复制到/usr/local/MATLAB/R2014a/bin/glnxa64中:   sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so

6、安装opencv3.1.0

从官网上下载opencv3.1.0
http://opencv.org/downloads.html
并将其解压到你要安装的位置,假设解压到了/home

首先安装Ubuntu系统需要的依赖项,虽然我也不知道有些依赖项是干啥的,但是只管装就行,也不会占据很多空间的。


原文的在安装python的依赖放在了caffe依赖中安装。但是,我自己在亲自实验后发现。make后会出现找不到python依赖。所以,建议python依赖放在这里先安装。反正早晚都是要装的。

sudo apt-get update sudo apt-get install -y build-essential cmake git pkg-config  sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler  sudo apt-get install -y libatlas-base-dev  sudo apt-get install -y --no-install-recommends libboost-all-dev  sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev  sudo apt-get install -y python-pip  sudo apt-get install -y python-dev  sudo apt-get install -y python-numpy python-scipy  

如果,还有什么错误提示依赖关于依赖问题的可以自己上网找一些相关的安装,之后make clean然后重新make 就好了。

sudo apt-get install --assume-yes libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-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 unzip


然后安装OpenCV需要的一些依赖项,一些文件编码解码之类的东东。

sudo apt-get install build-essential cmake gitsudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip

在终端中cd到opencv文件夹下,然后

mkdir build   #新建一个build文件夹,编译的工程都在这个文件夹里cd build/    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..

cmake成功后,会出现如下结果,提示配置和生成成功:
-- Configuring done-- Generating done-- Build files have been written to: /home/ise/software/opencv-3.1.0/build

然后make编译就可以了

make -j8

这个过程中可能会提示摸个***.h文件找不到。建议直接手动放到编译错误提示的目录下就好了。然后,make clean 重新make。


上面是将opencv编译成功,但是并没有安装到我们的系统中,有很多的设置都没有写入到系统中,因此还要进行install。

sudo make installsudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'sudo ldconfig

重启系统,重启系统后cd到build文件夹下:

sudo apt-get install checkinstallsudo checkinstall

然后按照提示安装就可以了。
使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。


7、安装caffe

首先安装各种依赖包

sudo apt-get update sudo apt-get install -y build-essential cmake git pkg-config  sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler  sudo apt-get install -y libatlas-base-dev  sudo apt-get install -y--no-install-recommends libboost-all-dev  sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev  sudo apt-get install -y python-pip  sudo apt-get install -y python-dev  sudo apt-get install -y python-numpy python-scipy  

将终端cd到你要安装caffe的位置,执行如下指令,从github上clone caffe。

git clone https://github.com/BVLC/caffe.git  //从github上git caffecd caffe //打开到刚刚git下来的caffe sudo cp Makefile.config.example Makefile.config   //将Makefile.config.example的内容复制到Makefile.config //因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子 sudo gedit Makefile.config //打开Makefile.config文件

打开之后修改如下内容://若使用cudnn,则将# USE_CUDNN := 1 修改成: USE_CUDNN := 1 //若使用的opencv版本是3的,则将# OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 //若要使用python来编写layer,则需要将# WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1 //重要的一项 将# Whatever else you find you need goes here.下面的 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为: INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial       LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial //这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径//若使用MATLAB接口的话,则要讲MATLAB_DIR换成你自己的MATLAB安装路径MATLAB_DIR := /usr/localMATLAB_DIR := /usr/local/matlab2014a

打开Makefile文件,

将NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)替换NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!改为//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

最后在:

make all -j8make runtest -j8make pycaffe -j8make matcaffe -j8

测试是否pycaffe成功:

caffe目录下:

终端输入:python

import sys

caffe_root = 'home/username/caffe/' (安装caffe的路径)

sys.path.insert(0, caffe_root + 'python')

import caffe


如果没错误就说明成功了。

1 0
原创粉丝点击