はじめに
機械学習を行うにあたって環境構築した際のメモを残す。
本家GitHub: NVIDIA/nvidia-docker
これを導入したいが、英語力が無さすぎたので下記Qiitaを参考にした。
Qiita: nvidia-docker2を試してみる
構成
- マシン:Mouse MASTERPIECE i1720PA1-SP2
- OS:Ubuntu 16.04.5 LTS
Ubuntuインストール
参考記事
Qiita:【罠がいっぱい!】ubuntu 16.04 LTS をMSI製ノート(GE62 6QC)にinstall
Dockerインストール
参考記事
Qiita: Ubuntuにdockerをインストールする
※本題から逸れるが、下記も併せて実施した
Dockerコマンドをsudoなしで実行する方法
nvidiaドライバインストール
参考記事
Qiita: UbuntuにNVIDIAドライバを入れる手順
-
リモートから作業しているとssh切られるのでローカルで作業することを推奨
- このあたりのコマンドで落ちた
sudo service lightdm stop
- このあたりのコマンドで落ちた
-
ドライバ選択
- nvidia-XXX を選択する所で ここ
とかを参考にバージョンを選ぼうとしたが、困ったことに公式の最新とapt-getの最新が違う(公式の方が新しい)(2018年08月17日現在)。
- →仕方ないのでapt-getできる方を試した
sudo apt-get install nvidia-384
- nvidia-XXX を選択する所で ここ
とかを参考にバージョンを選ぼうとしたが、困ったことに公式の最新とapt-getの最新が違う(公式の方が新しい)(2018年08月17日現在)。
-
このあとrebootを促されるハズなので従う。
- upgradeを勧めてくるが無視してOK。
ドライバ動作確認
-
nvidia-smi
コマンドで GeForce GTX が搭載枚数分見えていればOK
$ nvidia-smi
Fri Aug 17 15:02:51 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 108... Off | 00000000:17:00.0 Off | N/A |
| 25% 34C P8 12W / 250W | 2MiB / 11178MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:65:00.0 On | N/A |
| 25% 41C P8 13W / 250W | 261MiB / 11175MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 1 1283 G /usr/lib/xorg/Xorg 18MiB |
| 1 1357 G /usr/bin/gnome-shell 49MiB |
| 1 2020 G /usr/lib/xorg/Xorg 104MiB |
| 1 2185 G /usr/bin/gnome-shell 85MiB |
+-----------------------------------------------------------------------------+
Qiita: カーネルのバージョン固定 についても書いてある通りに設定した
nvidia-docker2 のインストール
参考記事
Qiita: nvidia-docker2を試してみる
基本的に上記記事の通りにできるが、自分が混乱した所だけメモ
sudo apt-get install するところで、バージョン名を2つ指定する必要がある(下記)
sudo apt-get install -y nvidia-docker2={バージョン名1} nvidia-container-runtime={バージョン名2}
これは、docker --version
の結果に合わせて sudo apt-cache madison nvidia-docker2 nvidia-container-runtime
の結果の中から選択することになる。
$ sudo docker --version
Docker version 18.06.0-ce, build 0ffa825
私の場合はDockerのバージョンが18.06.0だったので、
$ sudo apt-cache madison nvidia-docker2 nvidia-container-runtime
nvidia-docker2 | 2.0.3+docker18.06.1-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 Packages
nvidia-docker2 | 2.0.3+docker18.06.0-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 Packages
nvidia-docker2 | 2.0.3+docker18.03.1-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64 Packages
(中略)
nvidia-container-runtime | 2.0.0+docker18.06.1-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 Packages
nvidia-container-runtime | 2.0.0+docker18.06.0-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 Packages
nvidia-container-runtime | 2.0.0+docker18.03.1-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64 Packages
(以下略)
nvidia-docker2(=バージョン名1)・・・ 2.0.3+docker18.06.0-1
nvidia-container-runtime(=バージョン名2)・・・2.0.0+docker18.06.0-1
とした。具体的なコマンドは以下のようになる。
sudo apt-get install -y nvidia-docker2=2.0.3+docker18.06.0-1 nvidia-container-runtime=2.0.0+docker18.06.0-1
最後に
コメント、修正依頼ありましたらお気軽に!