当前位置: 代码迷 >> 综合 >> 【史上最全】ubuntu16.04安装NVIDIA显卡驱动+CUDA+CUDNN+nvidia-docker+Anaconda3等深度学习基础开发环境
  详细解决方案

【史上最全】ubuntu16.04安装NVIDIA显卡驱动+CUDA+CUDNN+nvidia-docker+Anaconda3等深度学习基础开发环境

热度:33   发布时间:2023-11-29 15:23:17.0

目录

一、更换软件源

1、找到并备份配置文件

2、 修改配置文件sources.list

                  3、更新源

二、下载显卡驱动及相关安装文件

1、下载显卡驱动

2、下载CUDA

3、下载CUDNN

三、开始安装(入坑)之旅

(一)显卡驱动run方式安装

1、编辑文件blacklist.conf

2、安装显卡驱动

(二)CUDA安装

(三)CUDNN安装

(四)nvidia-docker安装

               安装docker-ce

1、安装需要的依赖包

2、添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例

3、添加成功后更新软件包缓存

4、安装 Docker-ce

5、设置开机自启动

6、测试docker安装成功

               安装nvidia-docker

1、卸载nvidia-docker及其它GPU容器

2、添加仓库包

3、 安装nvidia-docker2

4、给docker更换国内镜像源

5、测试安装(注意自己的cuda版本)

6、修改docker镜像和容器的存放路径

(五)安装Anaconda3


默认已安装好Ubuntu16.04系统。

一、更换软件源

1、找到并备份配置文件

我们需要对apt源的配置文件进行修改 。进入/etc/apt目录,我们可以看到sources.list文件。

为了保证安全,我们在修改前先把sources.list文件进行备份。

sudo cp sources.list sources.list.bak

2、 修改配置文件sources.list

建议先安装vim编辑工具,因为自带的vi特别难用,vim是vi的增强版。

sudo apt-get install vim

vi或者vim操作sources.list文件,先清空原有的内容(官方源)。然后再把下面的阿里源复制进去。

阿里源Ubunt16.04(xenial)版本

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted 
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe 
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

3、更新源

sudo apt-get update

二、下载显卡驱动及相关安装文件

1、下载显卡驱动

https://www.nvidia.cn/Download/index.aspx?lang=cn

2、下载CUDA

https://developer.nvidia.com/cuda-toolkit-archive

3、下载CUDNN

https://developer.nvidia.com/rdp/cudnn-archive

4、Anaconda3

https://www.anaconda.com/products/individual

三、开始安装(入坑)之旅

(一)显卡驱动run方式安装

避免sudo apt-get install nvidia-*安装方式造成登录界面循环。

1、编辑文件blacklist.conf

ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

在编辑文件blacklist.conf之前先检查是否已禁用了nouveau,若有输出内容,则没有禁用。

lsmod | grep nouveau

编辑blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容:

blacklist nouveau 
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启)

重启系统(一定要重启)

重启系统(一定要重启)

验证nouveau是否已禁用(无输出则代表已禁用)

lsmod | grep nouveau

2、安装显卡驱动(NVIDIA-Linux-x86_64-418.152.00.run)

在终端命令行界面下输入

sudo -i                   //此处切换成root用户,大有妙处,照做就行
service lightdm stop      //这个是关闭图形界面,不执行会出错。

          如果提示unit lightdm.service not loaded

          则先安装LightDm: apt install lightdm,建议不要安装!!!

然后卸载掉原有驱动(建议装驱动前都执行以下该指令,有益无害):

apt-get remove nvidia-*  (若安装过其他版本或其他方式安装过驱动执行此项)

给驱动run文件赋予执行权限:

chmod  a+x NVIDIA-Linux-x86_64-418.43.run

安装:

./NVIDIA-Linux-x86_64-418.43.run -no-x-check -no-nouveau-check -no-opengl-files //只有禁用opengl这样安装才不会出现循环登陆的问题

            -no-x-check:安装驱动时关闭X服务
            -no-nouveau-check:安装驱动时禁用nouveau
            -no-opengl-files:只安装驱动文件,不安装OpenGL文件

Ubuntu服务器版由于在安装系统时只装了OpenSSH server和standard system utilities,一些必备的development tool并没有安装,需要接下来手动安装。在安装驱动程序的过程中,会因为缺少gcc、g++、make等development tool而报错导致无法完成驱动程序安装(ERROR:Ubable to find the development tool 'make' in your path...),不用担心,安装即可!

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make

显示安装完成,输入nvidia-smi验证下,打印以下信息则成功!

保险起见,最好重启(reboot)一下!!

(二)CUDA安装

安装之前首先要确认你需要安装的cuda和cudnn的版本。我们这次装的是cuda10.1和cudnn7.6.3

使用之前已经下载好的文件(cuda_10.1.105_418.39_linux.run)

输入命令:

sudo chmod a+x cuda_10.1.105_418.39_linux.run   //赋予权限
sudo sh cuda_10.1.105_418.39_linux.run          //开始运行安装

在出现的提示中选择accept,直到出现如下画面:【这里的驱动不选择(取消[ ]中的X),因为我们已经安装过了!!】

接下来选择Install开始安装。。。

安装成功!!!

添加环境变量

vim ~/.bashrc

在末尾添加

# add cuda10.1 path
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.1/bin:$PATH
export CUDA_HOME=/usr/local/cuda

最后使其生效~

source ~/.bashrc

使用nvcc -V查看版本信息

(三)CUDNN安装

问题:下载的cudnn的后缀是.solitairetheme8, 如何解压?

解压方式: 将文件重命名, 以.tgz作为后缀, 然后使用tar -zxvf file.tgz命令解压即可

解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

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*

查看CUDNN版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

会输出一下信息,安装成功!!

到此时,还是保险起见,重启一下机器(reboot)。重启后再检查下显卡驱动、cuda和cudnn。

(四)nvidia-docker安装

安装docker-ce

1、安装需要的依赖包

sudo apt install apt-transport-https ca-certificates software-properties-common curl

2、添加 GPG 密钥,并添加 Docker-ce 软件源,这里还是以中国科技大学的 Docker-ce 源为例

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

3、添加成功后更新软件包缓存

sudo apt-get update

4、安装 Docker-ce

apt-cache madison docker-ce  # 列出可用的版本sudo apt-get install docker-ce=<version>  默认5:19.03.12~3-0~ubuntu-focal

5、设置开机自启动

sudo systemctl enable docker
sudo systemctl start docker

6、测试docker安装成功

sudo docker run hello-world

出现以下信息,就代表离成功安装docker更近了一步~

安装nvidia-docker

1、卸载nvidia-docker及其它GPU容器

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

2、添加仓库包

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo apt-get update

3、 安装nvidia-docker2

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

4、给docker更换国内镜像源

通过配置文件启动Docker,修改/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

vim /etc/docker/daemon.json# 添加以下内容
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

修改保存后,重启 Docker 以使配置生效。

service docker restart

5、测试安装(注意自己的cuda版本)

docker run --runtime=nvidia --rm nvidia/cuda:10.1-base nvidia-smi

输出以下信息则代表安装成功

6、修改docker镜像和容器的存放路径(如有必要)

最好将路径修改至挂载磁盘中

  • 停止docker 服务
service docker stop
  • 备份数据到新的存放路径
cp -r /var/lib/docker/* /data/docker
  • 备份 /var/lib/docker 路径
mv /var/lib/docker  /var/lib/dockerbak
  • 创建软连接
ln -s /data/docker /var/lib/docker
  • 启动docker
service docker start

如果docker完整,并可用,可删除原来的备份文件

此方法,启动Docker时发现存储目录依旧是/var/lib/docker,但是实际上是存储在数据盘的,你可以在数据盘上看到容量变化。

7、配置非root用户运行docker

以非 root 用户运行 Docker,需要将用户添加到 docker 组

sudo usermod -aG docker $USER

重启 Docker

sudo systemctl restart docker

8、Docker容器镜像打成tar包

https://www.cnblogs.com/Dfengshuo/p/12067190.html

(五)安装Anaconda3

bash Anaconda3-2019.07-Linux-x86_64.sh

接下来根据提示输入完成安装:

输入yes添加自动环境变量!!

输入source ~/.bashrc使其生效,再输入python验证是否成功,打印以下信息则成功安装!!

 

至此,入坑之旅告一段落!!!

开始进入你的AI世界吧!!~~~~~