本教程是在NVIDIA顯示卡的機器上配置深度學習環境,原理是利用NVIDIA-docker。
配置nvidia-docker需要安裝NVIDIA驅動和docker 可參考官網
1. 安裝NVIDIA驅動
1.1 添加nvidiarepository
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
備注:如果添加報錯檢視解決方法
1.2 選擇驅動版本并安裝
ubuntu-drivers devices
顯示可用的驅動版本,例如:
driver : nvidia-410 - third-party free
driver : nvidia-415 - third-party free
driver : nvidia-418 - third-party free
driver : nvidia-384 - distro non-free
driver : nvidia-430 - third-party free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
如果要安裝430版本,就要如下指令:
sudo apt install nvidia-430
上面顯示的驅動可能會有變化,例如這樣(中間多了“driver字樣”)
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-440 - third-party free recommended
driver : nvidia-driver-430 - third-party free
driver : nvidia-driver-390 - third-party free
driver : nvidia-driver-435 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
依然安裝對應的驅動,例如:
sudo apt install nvidia-driver-430
注意:如果在 BIOS 中将 secure boot 設定為 on,在上述安裝過程中可能出現設定 secure boot 密碼的相關提示。如果在安全性方面要求不是很苛刻,可以考慮将 secure boot 設定為 off.
1.3 安裝完重新開機
檢視驅動是否安裝成功:
nvidia-smi
備注:如果提示nvidia-smi找不到,按照上面的操作将secure boot 設定為 off.
2. docker安裝
2.1 解除安裝舊版本
Docker 的舊版本被稱為 docker,docker.io 或 docker-engine 。如果已安裝,請解除安裝它們:
sudo apt-get remove docker docker-engine docker.io containerd runc
2.2 使用Docker倉庫進行安裝
在新主機上首次安裝 Docker Engine-Community 之前,需要設定 Docker 倉庫。之後,您可以從倉庫安裝和更新 Docker 。
A. 設定倉庫
更新apt包索引。
sudo apt-get update
安裝apt依賴包,用于通過HTTPS來擷取倉庫:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加Docker的官方GPG秘鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用以下指令設定穩定版本倉庫
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
B. 安裝 Docker Engine-Community
更新apt包索引
sudo apt-get update
安裝最新版本的 Docker Engine-Community 和 containerd ,或者轉到下一步安裝特定版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io
要安裝特定版本的 Docker Engine-Community,請在倉庫中列出可用版本,然後選擇一種安裝。列出您的倉庫中可用的版本:
$ apt-cache madison docker-ce
docker-ce | 5:18.09.1~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
使用第二列中的版本字元串安裝特定版本,例如 5:18.09.13-0ubuntu-xenial
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
3. 配置nvidia-docker
Ubuntu 16.04/18.04, Debian Jessie/Stretch/Buster
# Add the package repositories
$ 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
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker
Upgrading with nvidia-docker2 (Deprecated)
# On debian based distributions: Ubuntu / Debian
$ sudo apt-get update
$ sudo apt-get --only-upgrade install docker-ce nvidia-docker2 #注意執行是否忽略的nvidiadocker2
$ sudo systemctl restart docker
# All of the following options will continue working
$ sudo docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
$ sudo docker run --runtime nvidia nvidia/cuda:9.0-base nvidia-smi
$ sudo nvidia-docker run nvidia/cuda:9.0-base nvidia-smi
測試:
nvidia-docker
轉載請注明出處:https://blog.csdn.net/tbl1234567.作者:陶表犁