Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境

  现在学习实战深度学习都是用些开源的框架,使用GPU可大大提高训练和测试速度,所以安装CUDA成为必须要做的,尽管网上教程很多,但是不一定适合所有的环境,关键还是自己的实践。我写这个教程一方面是为自己做个记录,另一方面给新手一个参考。 

  工欲善其事必先利其器,首先把自己遇到的坑先说明下。如今新的Windows PC都是带有UEFI固件的,而且也开启了Secure Boot功能。什么用呢,简单说明下:如今新的WindowsPC都是带有UEFI固件的,而且也开启了SecureBoot功能。Secure Boot可以拒绝引导那些未被UEFI秘钥签名的操作系统,换句话说,只有微软认证的软件才可以被引导。同时还会导致一个问题就是无法使用CUDA安装NVIDIA驱动或者安装CUDA后没有NVIDIA设备。如何解决呢,首先就是要进入BIOS把Secure Boot置为Disable(如果你的电脑无法选为Disable,那无能为力了,换个电脑吧)。再一个情况就是双显卡电脑,现在很多的电脑都是一个独显一个核显,这种情况下极易导致系统无法进入图形界面或者是循环登录,这是由于安装NVIDIA驱动或者CUDA时安装了opengl,覆盖了核显的gl库。下面开始教程:

硬件环境:CPU i5-7300 8G内存 GTX1050 4G显存

系统环境:Ubuntu16.04

软件包准备:https://developer.nvidia.com/cuda-gpus查看自己的GPU是否支持CUDA

http://www.nvidia.cn/Download/index.aspx?lang=cn下载匹配自己显卡的驱动

https://developer.nvidia.com/cuda-downloads下载最新的CUDA Toolkit,一定要选runfile,如下

Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境_第1张图片

https://developer.nvidia.com/cudnn下载cuDNN library

Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境_第2张图片

参考文档

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#axzz4dMB1vD9s

NVIDIA CUDA Installation Guide for Linux

开始配置

1. 确认安装了gcc

gcc --version

2. CUDA和nvidia驱动编译安装需要内核头文件,所以

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

3. 安装nvidia驱动必须禁用nouveau,所以

创建一个文件 /etc/modprobe.d/blacklist-nouveau.conf 用下面的内容:

blacklist nouveau
options nouveau modeset=0

重新生成内核initramfs:

sudo update-initramfs -u

为保证禁用成功,重启系统

lsmod | grep nouveau

确保没有输出即可

4.Ctrl+Alt+F1进入命令行,关闭X servers

sudo systemctl stop lightdm

5.开始安装NVIDIA驱动,此步可以忽略而使用CUDA自带的驱动。区别就是CUDA安装的没有提示可能会安装失败

sudo ./NVIDIA-Linux-x86_64-378.13.run --no-opengl-files

安装提示基本是选肯定的,提示nvidia-xconfig时如果你的电脑还存在一个核显或者集显就选择不安装,反之选择安装

安装完毕后,重启,进入图形界面

6.检查/dev下是否存在nvidia*设备并且权限是0666,如果没有可以执行 nvidia-modprobe来创建这些设备,如果执行没有效果,请检查Secure Boot是否设置为Disable(见教程开头)

如果已经存在,执行nvidia-smi,有类似如下输出代表nvidia驱动正常


7.安装CUDA

sudo ./cuda_8.0.61_375.26_linux.run

按q结束cuda的描述等,然后输入accept,然后是提示是否安装NVIDIA驱动,如果你做了第5步,就输入n。反之输入y,这种情况下会提示是否安装opengl,一定输入n,然后提示是否安装nvidia-xconfig,如果你的电脑还存在一个核显或者集显就输入n,反之输入y

下一个提示是是否安装CUDA Toolkit,输入y,后面的提示都是使用默认或者y了

安装完会显示哪些安装成功,哪些安装失败,一般都会没有问题的

8.编辑/etc/profile,在最后添加

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH

重启系统,进入图形界面

9.测试CUDA Toolkit安装是否正确,

nvcc --version

输出类似以下信息即可认为安装正确

Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境_第3张图片

10.尝试编译CUDA提供的Samples,默认路径为~/NVIDIA_CUDA-8.0_Samples

make

如果提示错误请按照提示安装依赖包,或者自行google解决error,保证编译过程没有error

生成文件在~/NVIDIA_CUDA-8.0_Samples/bin/x84_64/linux/release

./deviceQuery

我的有如下输出

Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境_第4张图片

11.安装cuDNN,解压cudnn-8.0-linux-x64-v5.1.solitairetheme8

tar -xvzf cudnn-8.0-linux-x64-v5.1.solitairetheme8
sudo cp cuda/include/* /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn.so.5.1.10 /usr/local/cuda-8.0/lib64
sudo cp cuda/lib64/libcudnn_static.a /usr/local/cuda-8.0/lib64

更新软连接

cd /usr/local/cuda-8.0/lib64
ln –s libcudnn.so.5.1.10 libcudnn.so.5
ln –s libcudnn.so.5 libcudnn.so

至此完成所有安装

你可能感兴趣的:(深度学习)