#目的
ローカルPC(Ubuntu 16.04)にNVIDIA DIGITSを使ったDeep Learningのトレーニング環境を整える。
※このページのDIGITSに関する部分を日本語で書いているだけです
こちらの画像の左側部分(トレーニング環境:DIGITS)を構築するイメージです。
#PC環境
- OS: Ubuntu 16.04(仮想環境ではGPU認識できなかったので物理環境にOSインストール)
- ディスク容量: 120GB以上を推奨(画像認識データセットに必要です)
- GPU:
GeForce GTX 670GeForce GTX 1060 (CUDA対応GPUが必須です)
※ GTX 670だと最新のCUDAライブラリに対応しておらず、DIGITSのトレーニングが動作しなかった。
#NVIDIAドライバのインストール
まずはUbuntuにGPUを認識させる必要があるので、NVIDIAドライバのインストールする。
$ sudo apt-get install -y apt-transport-https curl
$ cat <<EOF | sudo tee /etc/apt/sources.list.d/cuda.list > /dev/null
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /
EOF
$ curl -s \
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub \
| sudo apt-key add -
$ cat <<EOF | sudo tee /etc/apt/preferences.d/cuda > /dev/null
Package: *
Pin: origin developer.download.nvidia.com
Pin-Priority: 600
EOF
$ sudo apt-get update && sudo apt-get install -y --no-install-recommends cuda-drivers
$ sudo reboot
GPUを認識できているか確認。
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44 Driver Version: 396.44 |
|-------------------------------+----------------------+----------------------+
| 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 106... Off | 00000000:01:00.0 On | N/A |
| 0% 48C P2 24W / 120W | 495MiB / 6070MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
DIGITSのインストール
Dockerを使う方法と、Dockerを使わずに必要なツールを個別にインストールする方法がある。
Dockerを使うと複数作業(cuDNN、NVcaffe、DIGITSのインストール)をまとめてやってくれるので、今回はDockerを使ってインストールする。
Dockerのインストール
Dockerを使用する前提となるツールをインストールし、Dockerリポジトリを追加。
$ sudo apt-get install -y ca-certificates curl software-properties-common
$ 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"
Docker Engine Utility(nvidia-docker2)リポジトリを追加し、nvidia-docker2をインストールし、毎回sudoなしでDockerを使用するためのアクセス許可を設定してから、システムを再起動する。
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update
$ sudo apt-get install -y nvidia-docker2
$ sudo usermod -aG docker $USER
$ sudo reboot
NVIDIA GPU Cloud(NGC)のアカウント作成
NVIDIAが公開しているDockerコンテナを利用するめ、アカウントを作成する。
https://ngc.nvidia.com/signup/register
アカウント作成後、APIキーを生成してコピーしておく。
NGCコンテナを使ってDIGITSをインストール
NGCコンテナレジストリにログインする。
$ docker login nvcr.io
Username: $oauthtoken
Password: <生成したNGC API Keyをペースト>
NGCコンテナを使ってnvidia-smiコマンドが通るか試験する。
docker run --runtime=nvidia --rm nvcr.io/nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04 nvidia-smi
データとジョブディレクトリの設定を行い、DIGITSコンテナを実行してインストールする。
※usernameは適宜読み替える
$ mkdir /home/username/data
$ mkdir /home/username/digits-jobs
$ nvidia-docker run --name digits -d -p 8888:5000 \
-v /home/username/data:/data:ro \
-v /home/username/digits-jobs:/workspace/jobs nvcr.io/nvidia/digits:18.05
ブラウザで http://localhost:8888 にアクセスしてDIGITSページが表示されればインストール成功。
再起動等を行った場合は、コンテナが停止するので以下のコマンドで起動させる必要がある。
$ nvidia-docker start digits
続き
NVIDIA DIGITSを使った画像分類モデルの作成
https://qiita.com/otomon10/items/2b9b4f3730c7121a8e92
#参考元
https://github.com/dusty-nv/jetson-inference#system-setup