ubuntu下安装cuda、cuddn等NVIDIA机器学习、深度学习环境往往是对于新手尤其对Linux系统不熟的人来说很头疼,影响对学习深度学习的热情,nvidia基于docker开发了nvidia docker并且提供cuda镜像,完全不用考虑环境问题了
我用的是ubuntu16,不建议用太新的系统,也不建议用旧的不提供升级维护的系统,ubuntu16或者18就可以,比较稳定。装系统这个就不说了,大多数人应该也是有了系统才来看的。
先禁用默认驱动
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在最后添加
blacklist nouveau option nouveau modeset=0
立即生效
sudo update-initramfs -u
英伟达官网驱动下载地址:https://www.nvidia.com/Download/index.aspx
,根据自己的显卡型号,搜索对应的驱动。
因为我用的GTX系列,所以直接到GTX专用的driver下载地址了:https://www.geforce.com/drivers
。这里以RTX 2060显卡为例
会有好多搜索结果,选择第一个就好了。然后下载
然后会有一个名字类似于 NVIDIA-Linux-x86_64-430.50.run
的文件。
注意:安装显卡驱动需要关闭图形界面(X Server)
首先,我们 logout 当前账户,然后按 ctrl + alt + F1
切换到tty1,然后输入用户名密码登录到系统。
使用 sudo /etc/init.d/lightdm stop
关闭 X Server 图形界面
然后进入到刚刚下载的文件所在文件夹,给下载的文件(注意下面命令换成自己下载的文件的名字)添加执行权限。我的是在 ~/Downloads
cd ~/Downloads
chmod +x NVIDIA-Linux-x86_64-430.50.run
然后使用root权限执行(注意命令中文件名也换成自己的):
sudo ./NVIDIA-Linux-x86_64-430.50.run
然后就进入安装了,基本就是下一步,确定,继续之类的,一顿点就行了,然后驱动就安装完了,然后使用 nvidia-smi
命令看一下是否安装成功。然后重启机器
reboot
sudo apt-get remove --purge nvidia* # 提示有残留可以接 sudo apt autoremove
添加nvidia驱动源并更新源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
寻找适合的驱动版本
ubuntu-drivers devices
安装nvidia driver
sudo apt-get install nvidia-430
重启计算机
reboot
检查是否安装成功
nvidia-smi
之前写过,参照这个:ubuntu install docker ,复制命令执行就行了,很简单。
添加安装库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
安装 nvidia-container-toolkit
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
执行 sudo docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
看看是否安装成功。
以下是几种常规用法:
#### Test nvidia-smi with the latest official CUDA image
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
# Start a GPU enabled container on two GPUs
$ docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi
# Starting a GPU enabled container on specific GPUs
$ docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi
$ docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:9.0-base nvidia-smi
# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
$ docker run --gpus all,capabilities=utility nvidia/cuda:9.0-base nvidia-smi
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/215