NVIDIA DIGITS システムを動かす(Docker を使用)(Ubuntu 上)
DIGITS の開発は終了している。GitHub のリポジトリ(https://github.com/NVIDIA/DIGITS)は 2025 年 1 月にアーカイブされ,NGC で公開されているコンテナは 21.09 が最終版である。新規に学習環境を構築する場合は,NVIDIA TAO Toolkit,あるいは PyTorch や TensorFlow を直接使用する方法を検討する。以下は,既存の DIGITS の資産を利用する場合の手順である。
Docker Hub の nvidia/digits イメージは提供が終了している。現在は NGC の nvcr.io/nvidia/digits を使用する。
前準備
参考Webページ https://docs.nvidia.com/deploy/cuda-compatibility/index.html
NVIDIA ドライバのインストール(Ubuntu 上)
DIGITS のコンテナには CUDA のランタイムが含まれているため,ホスト側に必要なものは NVIDIA ドライバである。コンテナ内の CUDA バージョンに対応したドライバをインストールする。 Ubuntu での NVIDIA ドライバ,NVIDIA CUDA ツールキットのインストールは, 別ページ »で説明
NVIDIA コンテナ・ツールキットのインストール
コンテナから GPU を利用するために NVIDIA Container Toolkit が必要である。 Ubuntu での NVIDIA コンテナ・ツールキットのインストールは, 別ページ »で説明
NGC アカウントの作成とログイン
- NGC カタログの DIGITS のページを開く
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/digits
- NVIDIA のアカウントを作成し,ログインする。
- ライセンス条項を確認し,同意する場合のみ続行する。
- NGC の「Setup」画面で API キーを生成する。
- 端末で,次のコマンドを実行し,NGC のレジストリにログインする。ユーザ名は
$oauthtoken(この文字列そのもの),パスワードは生成した API キーである。docker login nvcr.io
NVIDIA DIGITS システムの稼働
- コンテナイメージの取得
端末で,次のコマンドを実行する。
docker pull nvcr.io/nvidia/digits:21.09-tensorflow - コンテナの起動
端末で,次のコマンドを実行する。DIGITS はコンテナ内でポート 5000 を使用する。これをホストのポート 8888 に割り当てている。
* 外部にポートを公開するときは,8888以外の好きな番号に変えて,第三者が「何なのか」を簡単に予測できないようにしておくこと。
docker run --gpus all --name digits -d --rm -p 8888:5000 nvcr.io/nvidia/digits:21.09-tensorflowデータのディレクトリと,学習結果(ジョブ)のディレクトリをホスト側に置く場合は,次のように
-vで割り当てる。docker run --gpus all --name digits -d --rm -p 8888:5000 \ -v /home/user/data:/data -v /home/user/digits-jobs:/workspace/jobs \ nvcr.io/nvidia/digits:21.09-tensorflow - Web ブラウザで http://localhost:8888 を開き,動作を確認する。
http://localhost:8888
- 終了するときは,端末で,次のコマンドを実行する。
docker stop digits