加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Ubuntu > 正文

Ubuntu16.04+CUDA8.0+CUNN5.1+caffe+tensorflow+Theano

发布时间:2020-05-22 18:15:29 所属栏目:Ubuntu 来源:互联网
导读:前言 经过一周的不懈努力,通过对网站各种安装教程的学习,终于呕心沥血的完成本次的环境搭建= =。虽然网站的教程多不胜数,但是学习下来,总有一些不尽人意的地方,比如一些命令行中少了一个空格或者什么的,对于一个Ubuntu小白(就像我一样+_+)来说出了问


前言

  经过一周的不懈努力,通过对网站各种安装教程的学习,终于呕心沥血的完成本次的环境搭建= =。虽然网站的教程多不胜数,但是学习下来,总有一些不尽人意的地方,比如一些命令行中少了一个空格或者什么的,对于一个Ubuntu小白(就像我一样+_+)来说出了问题,很难察觉。现在就根据我自身在安装过程中的一些体会总结,来详细地梳理一遍,一是可以给自己做一个记录下次配置安装的时候会方便很多,二是也希望跟大家分享一下我的这次吐血经历从而少走些弯路。
  本次框架搭建的全程概要:

  • 框架基础: 安装显卡驱动 ==> 安装cuda ==> 测试cuda的Samples==> 降低gcc版本==> 重新测Samples==> 安装cudnn
  • 安装caffe:安装Opencv相关依赖项 ==> 编译Opencv ==> 安装Opencv==>安装caffe相关依赖项==> 修改配置文件==> 编译caffe
  • 安装theano
  • 安装Thsorflow

  在整个过程中,出问题的部分主要是安装cudaOpencv编译 以及caffe的编译 ,三个框架中caffe是最难安装的了,其余两个稍微容易点。
  注意: 在安装之前最好先将电脑的锁屏关闭,因为有时候由于网络或者软件源的问题会导致下载异常慢,所以为了防止下载中断先将锁屏功能关闭。

框架基础安装

安装显卡驱动

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

  然后在终端中依次输入下列命令行:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375(375是你查到的版本号,如果查到的版本号含有小数只要整数部分)
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

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

nvidia-smi

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

nvidia-settings

  出现:

安装cuda

  cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。从这里下载cuda的安装文件 (需要注册一个nvidia帐号下载):
https://developer.nvidia.com/cuda-release-candidate-download

  注意这里下载的是cuda8.0的runfile(local)文件,笔者一开始按照另外一篇博客下载deb(local)文件结果安装出问题因此并不建议下载deb(local)文件安装。
  下载完cuda8.0后。执行如下语句,运行runfile文件:

sudo sh cuda_8.0.27_linux.run  (根据你下载的文件名来)

  执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。
  笔者安装后出现了如下界面:

  可以发现系统提示缺少一些推荐安装的库:libGLU.so、libX11.so、libXi.so、libXmu.so,所以接下来执行如下命令行:

sudo apt-get install libglu1-mesa-dev   
sudo apt-get install libx11-dev
sudo apt-get install libxi-dev
sudo apt-get install libxmu-dev

  然后再运行runfile文件进行安装一次,会发现上图中的错误就消失了。
  安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

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}}

  然后设置环境变量和动态链接库,输入如下命令行:

sudo gedit /etc/profile

  在打开的文件末尾加入:

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

  保存之后,创建链接文件:

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

  在打开的文件中添加如下语句:

/usr/local/cuda/lib64

  然后执行如下语句,使链接立即生效。

sudo ldconfig

测试cuda的Samples

  编译测试cuda例子与测试,在命令行输入:

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

  这里报错是因为Ubuntu16.04自带的gcc5.x版本CUDA不兼容,所以需要降低gcc+版本:

sudo apt-get install gcc-4.9 g++-4.9
cd /usr/bin
sudo rm gcc 
sudo rm g++
sudo ln -s gcc-4.9 gcc
sudo ln -s g++-4.9 g++

  再次输入如下语句重新测试Samples:

sudo make ./deviceQuery

  打印类似如下信息,说明安装成功:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 950M"
  CUDA Driver Version / Runtime Version          9.0 / 8.0
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 2003 MBytes (2100232192 bytes)
  ( 5) Multiprocessors,(128) CUDA Cores/MP:     640 CUDA Cores
  GPU Max Clock rate:                            1124 MHz (1.12 GHz)
  Memory Clock rate:                             1001 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 2097152 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536),2D=(65536,65536),3D=(4096,4096,4096)
  Maximum Layered 1D Texture Size,(num) layers  1D=(16384),2048 layers
  Maximum Layered 2D Texture Size,(num) layers  2D=(16384,16384),2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,z): (1024,1024,64)
  Max dimension size of a grid size    (x,z): (2147483647,65535,65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery,CUDA Driver = CUDART,CUDA Driver Version = 9.0,CUDA Runtime Version = 8.0,NumDevs = 1,Device0 = GeForce GTX 950M
Result = PASS

安装cudnn

  首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)——— 编译https://developer.nvidia.com/rdp/cudnn-download

  下载完cudnn后,命令行输入文件所在的文件夹 (ubuntu为本机用户名):

cd home/ubuntu/Downloads/
tar zxvf cudnn-8.0-linux-x64-v5.1.tgz #解压文件

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

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

  再cd进入lib64目录下的动态文件进行复制和链接:(5.1.5为对应版本具体可修改)

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.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接

  到此,框架搭建之前的准备就已经完成了,接下来将进行caffe的安装。

安装caffe

安装Opencv3.1.0

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

  1、安装相关依赖项:

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

sudo apt-get install build-essential cmake git
sudo apt-get install ffmpeg libopencv-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install python3-numpy
sudo apt-get install qtbase5-dev

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读