Ubuntu16.04 + cuda8.0 + cudnn + caffe 一系列搭建教程

用于自己无限次重新安装备忘使用。

一、Ubuntu16.04安装

1. 提前百度制作一个U盘启动备用(UltraISO注册码  网搜的   名:王涛  域:如下)。

7C81-1689-4046-626F

2. 插U盘,开机。开机过程中狂按F2键,设置BIOS boot启动项为U盘启动,按F10保存退出。

3. 进入安装界面。

(1)语言自选,中英都行,中文看起来方便,但是在文本模式下汉字是菱形乱码。

(2)选择“为图形或无线硬件...”,继续。

(3)选择“其他选项”,继续。

(4)分区。a.          /分区:主分区       空间起始位置   Ext4日志文件系统   /

                       b.   boot分区:逻辑分区   空间起始位置   Ext4日志文件系统   /boot

                       c. home分区:逻辑分区   空间起始位置   Ext4日志文件系统   /home   【这一部分分区分的多一些,其他参考百度】

                      d. swap分区:逻辑分区    空间起始位置   交换空间

(5)修改“安装启动引导器的设备”。选择“/boot”分区。

(6)接下来不涉及重要问题,根据引导自己选择。

4. 重启,并拔出U盘。重启时,遵循步骤2,按F2键,设置BIOS boot启动项为硬盘启动,按F10保存退出。

5. 输入密码进入系统,安装完毕。

二、 cuda8.0安装

1. 检查环境

开机首先按F2进入boot界面,确认secure boot选项为disable.

2. 检查电脑GPU是否支持cuda

lspci | grep -i nvidia

3. 检查系统,方便找安装包

uname -m && cat /etc/*release

4. 检查gcc版本

gcc --version

若没有可以通过以下命令安装,有的话请忽略:

sudo apt-get install gcc

5. 检查是否安装kernel header和package development

uname -r

可通过以下命令安装:

sudo apt-get install linux-headers-$(uname -r)

6. 下载与自己电脑对应版本的run安装包(官网:https://developer.nvidia.com/cuda-downloads)

7. 禁止Ubuntu自带的nouveau显卡驱动:

(1)查看驱动状态,应有输出显示:

lsmod | grep nouveau

 (2)创建blacklist-nouveau.conf

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

在文件中编辑如下内容:

blacklist nouveau
options nouveau modeset=0

按Esc退出,编辑  :wq  保存退出。

(3)更新

sudo update-initramfs -u

(4)检查是否禁用成功,没有输出则为成功,一般情况下需要reboot才能生效。

lsmod | grep nouveau

8. 安装run文件:

(1)重启后不要进入登录界面,按Ctrl+Alt+F1进入文本模式,输入用户名和密码,登录。

(2)关闭图形界面

sudo service lightdm stop

(3)使用cd命令进入cuda_8.0.61_375.26_linux.run所在的文件夹下,执行

sudo sh cuda_8.0.61_375.26_linux.run

安装时,不停按空格键直至100%.

若遇到提示是否安装OpenGL,选择no,其他accept或yes或回车。

(4)重启图形界面

sudo service lightdm start

(5)若没有出现循环登录情况,成功。若出现循环登录情况,重启后进入文本界面,执行:

sudo apt-get remove --purge nvidia*

关闭文本界面,应可以进入图形界面,然后搜索计算机,找到 附加驱动的“附加驱动”项,选择括号内有“tested”的一项,然后点击“应用更改”,重启,即可完成。

(6)检查是否安装成功:

nvidia-smi

有输出则成功。

ls /dev/nvidia*

应有四个或三个输出。

三、 cudnn安装

1. 下载好需要用的文件,进入所在文件夹下解压:

tar zxvf cudnn-8.0-linux-x64-v5.1.tgz

解压后的cuda文件夹下有include和lib64两个文件夹

2. 进入include文件夹下执行以下命令,复制头文件:

cd ../cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/

  3. 进入lib64文件夹下执行以下命令,复制动态链接库:

cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/

4. 进入复制后的动态链接库进行新的链接。

(1)进入目录:

cd /usr/local/cuda/lib64/

(2)查看已有链接(4个):

ls -al | grep libcudnn

(3)删除原有动态文件:

 sudo rm -rf libcudnn.so libcudnn.so.5

(4)再次查看链接(2个):

ls -al | grep libcudnn

 (5)建立新链接:

sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so

(6)再次查看链接(4个,成功):

ls -al | grep libcudnn

(7)设置环境变量和动态链接库:

sudo gedit /etc/profile

在打开的文件最后添加:

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

(8)保存后来所创建的链接文件

首先执行以下命令:

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

在这个空白文件中输入:

/usr/local/cuda/lib64

保存退出。

(9)输入以下命令使链接生效:

sudo ldconfig

四、caffe安装

1. 安装相关依赖:

sudo apt-get install git libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev python-dev libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install --no-install-recommends libboost-all-dev

2. 安装Python依赖库:

sudo apt-get install cython python-numpy python-scipy python-skimage python-scikits-learn python-matplotlib ipython python-h5py python-leveldb python-networkx python-nose python-pandas python-dateutil python-protobuf python-gflags python-yaml python-pil

3. 安装矩阵加速器:

sudo apt-get install libopenblas-dev

4. 官网下载caffe-master压缩包,解压到自己指定的目录下,进入caffe-master主目录下,执行:

cp Makefile.config.example Makefile.config
gedit Makefile.config

修改 BLAS := open

去掉use_cudnn := 1的注释

修改:

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/hdf5/serial/

5. 编译测试:

make all -j8
make test -j8
make runtest -j8
make pycaffe

6. 测试(其他方法也行):

(1)下载MNIST数据库,进入文件夹下执行以下命令:

./data/mnist/get_mnist.sh

(2)将其转换成LMDB格式:

./examples/mnist/create_mnist.sh

(3)训练:

./examples/mnist/train_lenet.sh

 

结束!

 

 

其他:

安装cudnn6.0:

tar zxvf cudnn-8.0-linux-x64-v6.0.tgz

解压后进入/cuda/include,执行:

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

进入复制后的动态链接库进行新的链接:

$ cd /usr/local/cuda/lib64/
$ ls -al | grep libcudnn #查看已有链接,显示为4个
$ sudo rm -rf libcudnn.so libcudnn.so.6 #删除原来的动态链接
$ ls -al | grep libcudnn #再次查看已有链接,显示为2个
$ sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #建立新链接
$ sudo ln -s libcudnn.so.6 libcudnn.so
$ ls -al | grep libcudnn #再次查看已有链接,显示为4个

 设置环境变量和动态链接库:

$ 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

 

 

你可能感兴趣的:(教程)