深度学习环境搭建:Ubuntu16.04+NVIDIA-387+ CUDA-8.0+Cudnn-v5.1+Tensorflow-gpu 1.2+Opencv3.2+Caffe安装

安装流程:

1. Ubuntu16.04系统安装;
2. NVIDIA-387显卡安装;
3. CUDA-8.0安装;
4. Cudnn-v5.1安装;
5. Tensorflow-gpu 1.2版安装;
6. Opencv3.2安装;
7. Matlab2016b安装;
8. Caffe安装;

一. Win10+ubuntu16.04双系统安装

电脑型号:华硕飞行堡垒
配置:i7-7700 ,8g-ddr4 ,128g ssd+1T机械硬盘,gtx1050;

具体安装步骤:
1.调整系统自带的bios设置(此处略过,自行百度)
2.进入系统安装界面,选择到install Ubuntu处,按下键盘e键,进入grub界面,找到quite splash并在后面空格接着输入

$ vt_handoff  acpi_osi=linux nomodeset

然后按F10保存。静待一两分钟(或者更多)进入系统安装界面;
3.系统安装时选择机械硬盘,系统安装的分区处理,按照自己的需求进行分区处理,本人的分区仅供参考:/ 分配了100g;/boot 分配10g;/swap 分配8g;/home 剩下所有的内存。
4.分好区后直接安装。
5.安装完后重启电脑,同样在开机系统引导选择界面,将选项移动至ubuntu处,并且再次按下e进入grub界面。找到quite splash并在后面空格接着输入

$ vt_handoff  acpi_osi=linux nomodeset

然后按F10保存。静待几分钟(或者更多)顺利进入系统;
6.进入系统后连接网络,先update一下,并且确保网络可用。接下来我们为了防止再次开机时进入不了系统,我们先将闭源N卡安装好。

二.安装NVIDIA显卡

安装步骤

  1. 紧接上面第6步。开机后,按住ctrl+alt+F1进入tty界面,并且登陆自己的电脑账户;
  2. 登陆后,关闭桌面显示管理器;

$ sudo service lightdm stop

  1. 添加源

$ sudo add-apt-repository ppa:graphics-drivers/ppa

运行完此指令后按下enter键,确认添加源

$ sudo apt-get update

  1. 寻找合适的驱动版本

$ ubuntu-drivers devices

  1. 再次关闭桌面显示管理器;

$ sudo service lightdm stop

  1. 安装N卡,选择第四步推荐的型号(第四步推荐的型号后面有recommend一词)

$ sudo apt-get install nvidia-387

(具体型号看个人电脑推荐)

  1. 确保网络通畅的情况下安装完后重启电脑

$ sudo reboot

  1. 此时则可正常进入系统,并且查看N卡安装情况

$ nvidia-smi

有显卡信息显示出来,则表示安装成功。

三. Cuda8.0安装

安装步骤:
在安装cuda之前对gcc进行降级操作,在ubuntu16.04中默认的gcc版本为5.4,而cuda8.0在这里支持最高5.3版本;
降级操作:

  1. 下载gcc源码

$ wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

  1. 解压文件

$ tar -zxvf gcc-5.3.0.tar.gz

  1. 载编译所需文件库

$ cd gcc-5.3.0
$ ./contrib/download_prerequisites
$ cd …

  1. 建立编译输出目录

$ mkdir gcc-build-5.3.0

  1. 进入编译目录并且生成makefile文件

$ cd gcc-build-5.3.0
$ …/gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

  1. 编译以及安装

$ sudo make –j8
$ sudo make install

  1. 检查是否安装成功

$ gcc –version
$ g++ --version

安装成功则会有版本信息输出。

Cuda安装:

  1. 去NVIDIA官网下载相应cuda;
  2. 将下载好的文件放置在对应的目录下,并输入指令执行

$ sudo sh cuda_8.0.27_linux.run

  1. 开始安装,按空格阅读安装证书内容,并确认安装。在提示到安装显卡时,我们不再安装显卡,因为之前我们已经安装好。 其他的安装选项用使用默认安装;

  2. 安装完成后声明环境变量,并将其写入到 ~/.bashrc 的尾部:

    $ export PATH=/usr/local/cuda-8.0/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
    $ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}

  3. 然后设置环境变量和动态链接库,在命令行输入

$ sudo gedit /etc/profile

  1. 在打开的文件末尾加入

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

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

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

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

$ /usr/local/cuda/lib64

  1. 使链接立即生效

$ sudo ldconfig

测试cuda是否安装成功:

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

如果终端显示出显卡信息,则表示安装成功。

四. CuDNN V5.1安装

  1. 去nvidia官网下载对应版本的cudnn,这里我下载的是cudnn v5.1。下载下来后解压到自己指定的目录下;
  2. 进入目录,建立软件链接(注意自己cudnn版本号):

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

$ sudo cp ~/cuda/lib64/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

  1. 安装成功;(检验安装是否成功,用tensorflow 写个helloworld的例子)
    小插曲[安装后,以后若想要更换cudnn版本可以进行以下操作,然后再重新安装新版本的cudnn
    删除原来的cudnn:

$ sudo rm –rf /usr/local/cuda/include/cudnn.h

$ sudo rm –rf /usr/local/cuda/lib64/libcudnn*

删除完后重新安装新版的cudnn,步骤如上,请注意软链接的版本信息]

五.Tensorflow-gpu安装

升级pip到9.01

  1. 去官网下载pip安装包;
  2. 将下载好的安装包解压到自己安装文件的目录下;
  3. 进入解压后的文件下,安装pip

$ sudo python setup.py install

  1. 检查pip安装情况;

$ pip --version

tf安装
打开终端输入指令

$ sudo pip install tensorflow-gpu==1.2

六.Opencv-3.2安装

  1. 安装依赖库

$ sudo apt-get install build-essential

$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

$ sudo apt-get install libxvidcore-dev libx264-dev

$ sudo apt-get install libatlas-base-dev gfortran

$ sudo apt-get install ffmpeg

  1. 去官网下载opencv-3.2安装包,并且解压;
  2. 进入opencv文件夹,新建build文件夹

$ cd ~/opencv-3.2.0
$ mkdir build

  1. 利用cmake编译opencv,若果没有cmake,请自行安装;

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …

在配置过程中会出现一直卡在 – ICV: Downloading ippicv_linux_20151201.tgz…
此时,终止编译,去网站上下载相对应的ippicv_linux_20151201.tgz文件,并且进入以下目录将文件替换成自己下载的:opencv-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b
替换好后,打开CMakeLists.txt文件,在文件开头处加入以下代码,并且保存:
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_FORCE_INLINES”)

  1. 重新编译和安装opencv

$ cd opencv-3.2.0/build

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local …

$ make –j8

$ sudo make install

七.Matlab2016b安装

  1. 下载Matlab2016b linux版本到自己电脑内并且解压;
  2. 创建挂载目录并且挂载上去:

$ sudo mkdir /media/matlab

$ sudo mount –o loop /your matlab path/R2016****dvd1.iso /media/matlab

  1. 挂载好后进行安装:

$ cd /media/matlab

$ sudo ./install

  1. 由于matlab2016b有两个镜像,所以安装到大概百分之九十左右会需要挂载第二个镜像:

$ sudo mount –o loop /your matlab path/R2016****dvd2.iso /media/matlab

  1. 挂载完后即可继续安装
  2. 安装完后开始破解激活

$ cd /your matlab install path/Matlab/bin/

$ sudo ./matlab

  1. 打开后选择不需连接网络破解,然后将 license_standalone.lic 文件导入,激活
  2. 将破解文件glnxa64下面的四个文件复制到Matlab安装路径下的/bin/glnxa64目录下,替换对应的四个文件,至此,matlab安装成功。
  3. 安装后将挂载的目录卸载

$ sudo umount /media/matlab
$ sudo umount /media/matlab

(挂载了两次所以需要卸载两次)

八.Caffe安装及编译

  1. 安装对应package:

$ 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

  1. 下载caffe源码:

$ sudo git clone https://github.com/BVLC/caffe.git

  1. 修改配置文件:

$ cd ~/caffe-master

$ sudo cp Makefile.config.example Makefile.config

$ sudo gedit 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

使用MATLAB接口,把MATLAB_DIR换成自己的MATLAB安装路径

MATLAB_DIR := /your install path

MATLAB_DIR := /your install path/Matlab2016b

  1. 打开Makefile文件修改:

$ sudo gedit Makefile

将:

NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

替换:

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

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

$ sudo gedit /usr/local/cuda/include/host_config.h

将:

#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!

  1. 编译caffe

$ make all –j8

$ make test –j8

$ make runtest -j8

$ make pycaffe –j8

$ make mattes –j8

$ make matcaffe –j8

[在编译pycaffe时,会有一个package没有安装,请自行安装,以及需要在/etc/profile文件内添加caffe路径等问题,等遇到时自行百度或者google]
至此,整体环境搭建成功,至于中间各个测试,请自行进行实验。
若有不足请大家指出。该文件仅供参考!
本博客作于一年前,当时未保存参考网址,现已无法追溯,请谅解!

猜你喜欢

转载自blog.csdn.net/weixin_38106878/article/details/88081923