5
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NVIDIA DIGITSを使ったDeep Learningトレーニング環境のセットアップ

Last updated at Posted at 2018-06-24

#目的
ローカルPC(Ubuntu 16.04)にNVIDIA DIGITSを使ったDeep Learningのトレーニング環境を整える。
このページのDIGITSに関する部分を日本語で書いているだけです

こちらの画像の左側部分(トレーニング環境:DIGITS)を構築するイメージです。
Qiita

#PC環境

※ 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

5
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?