KUMICO

COLUMN

【Vol.6】はじめよう!エッジAI~NVIDIA® Transfer Learning Toolkit~環境構築編(その2)

★そもそも「エッジAIってなに?」という方にはこちらのコラムをおすすめします。

Vol.1は以下です。
【Vol.1】はじめよう!エッジAI~エッジである必要性と最適な環境構築~
Vol.2は以下です。
【Vol.2】はじめよう!エッジAI~NVIDIA® 開発者キットのインストール~
Vol3は以下です。
【Vol.3】はじめよう!エッジAI~JetsonでNVIDIA®DeepStream SDK~
Vo4は以下です。
【Vol.4】はじめよう!エッジAI~NVIDIA® Transfer Learning Toolkit~
Vol5は以下です。
【Vol.5】はじめよう!エッジAI~NVIDIA® Transfer Learning Toolkit~ 環境構築編(その1)

今回は、前回に引き続き、NVIDIA® Transfer Learning Toolkit(以下、TLT)の環境構築をおこなってまいります。

TLTを始めるため、NVIDIA GPU Cloud accont and API Keyの取得、docker-ceのインストール、Nvidia docker等のインストール手順をご紹介します。

前回(Vol5)ではGPUドライバをインストールしました。

再起動後、XWindowが起動しない場合は、以下のコマンドでxorg.confを作って再起動してください。

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.back
$ sudo nvidia-xconfig -a
$ sudo reboot

念のため、古いバージョンのDockerのアンインストールをします。

$ sudo apt-get remove docker docker-engine docker.io containerd runc

リポジトリを構成します。

$ sudo apt-get update
$ sudo apt-get install ¥
   apt-transport-https ¥
   ca-certificates ¥
   curl ¥
   gnupg-agent ¥
   software-properties-commo ¥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
$ sudo apt-key fingerprint 0EBFCD88

pub    rsa4096 2017-02-22 [SCEA]
            9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid    [ unknown] Docker Release (CE deb) <docker@docker.com>
sub    rsa4096 2017-02-22 [S]

$ sudo add-apt-repository ¥
   “deb [arch=amd64] https://download.docker.com/linux/ubuntu ¥
   $(lsb_release -cs) ¥
   stable”

Dockerをインストールします。

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Docer-ceのバージョン一覧を確認します。

$ apt-cache madison docker-ce
docker-ce | 5:19.03.13~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.12~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
~~~
~~~
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages

今回は、5:19.03.13~3-0~ubuntu-bionicを対象とします。

$ sudo apt-get install docker-ce=5:19.03.13~3-0~ubuntu-bionic docker-ce-cli=5:19.03.13~3-0~ubuntu-bionic containerd.io

hello worldでDockerのインストールを確認します。

$ sudo docker run hello-world

NVIDIA ContainerToolkitのセットアップ

Dockerのサービスを有効にします。

$ sudo systemctl start docker ¥
&& sudo systemctl enable docker

NVIDIA ContainerToolkitのstableリポジトリとGPGキーを設定します。

$ 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-docker2

Dockerデーモンを再起動して、CUDAコンテナーを実行することにより、動作セットアップをテストします。nvidia-smiコマンド実行時と同等の表示がされれば成功です。

$ sudo systemctl restart docker
$ sudo docker run ‐‐rm ‐‐gpus all nvidia/cuda:11.0-base nvidia-smi
$ Unable to find image ‘nvidia/cuda:11.0-base’ locally
11.0-base: Pulling from nvidia/cuda
~~~
~~~
image_2020_11_16T08_28_48_483Z

NVIDIA GPU Cloud accont and API Keyの取得

https://www.nvidia.com/ja-jp/gpu-cloud/containers/」のサイトから「コンテナーの取得」ボタンをクリックします。

新しいビットマップ-イメージ

NGCにログインします。
NGCのアカウントが無い場合もNGCに登録するEmailアドレスを入力します。

新しいビットマップ-イメージ-(2)

NGCアカウントを取得済みの場合は、passwordを入力してログインします。
アカウントを生成する場合は、Create accountからアカウントを生成します。
その他、FacebookやGoogleのアカウントでも利用可能なようです。

新しいビットマップ-イメージ-(3)

ログイン後、画面右上のユーザ名の右側をクリックして、メニューよりSetupを選択します。その後、Get API Keyをクリックします。

Screenshot-from-2020-11-09-09-53-33

API Key画面に遷移するので、Generate API Keyをクリックします。

Screenshot-from-2020-11-09-09-54-02

API Keyが生成されます。後ほど使用するためPasswordをテキストファイルにコピーしておきます。

Screenshot-from-2020-11-09-09-54-18

取得したAPI Keyを利用してログインします。
Usernameは、「$oauhtoken」を入力します。Login Succeededが表示されれば成功です。

$ sudo docker login nvcr.io
Username: $oauthtoken
Password:
WARNING! Your password will be stored unencrypted in /home/dnndev/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
$

Transfer Learning Toolkit(TLT)のセットアップ

Transfer Learning Toolkitのイメージの取得を行います。

$ sudo docker pull nvcr.io/nvidia/tlt-streamanalytics:v2.0_py3

ローカルフォルダとDockerのフォルダの共有を行い、起動します。
<user name>の部分は、各環境に合わせてください。

$ cd ~
$ mkdir tlt-experiments
$ sudo docker run ‐‐runtime=nvidia -it ¥
-v /home/<user name>/tlt-experiments:/workspace/tlt-experiments -p 8888:8888 ¥
nvcr.io/nvidia/tlt-streamanalytics:v2.0_py3 /bin/bash

取得したAPI Key を利用してNGCレジストリへログインします。

# ngc config set

jupyter notebookを立ち上げます。インストールしたホストマシンのウェブブラウザから、下記のWEBページへアクセスすると、jupyter notebookの利用が可能です。

# jupyter notebook ‐‐ip 0.0.0.0 ‐‐port 8888 ‐‐allow-root
[I 00:59:41.755 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 00:59:41.949 NotebookApp] Serving notebooks from local directory: /workspace
[I 00:59:41.949 NotebookApp] Jupyter Notebook 6.1.0 is running at:
[I 00:59:41.949 NotebookApp] http://a163a82462ad:8888/?token=dc2abe009566c9060cd18bfce7621c5d9b36de025fd86c76
[I 00:59:41.949 NotebookApp] or http://127.0.0.1:8888/?token=dc2abe009566c9060cd18bfce7621c5d9b36de025fd86c76
[I 00:59:41.949 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 00:59:41.953 NotebookApp] No web browser found: could not locate runnable browser.
[C 00:59:41.953 NotebookApp]

To access the notebook, open this file in a browser:
file:///root/.local/share/jupyter/runtime/nbserver-16-open.html
Or copy and paste one of these URLs:
http://a163a82462ad:8888/?token=xxxxxxx
or http://127.0.0.1:8888/?token= xxxxxxx

次回以降は、TLTのPre-trained Modelsを利用して動かして行きたいと考えています。

※本コラムに記載されている社名および製品名などの固有名詞は、各社の商標または登録商標です。
※各ツールのライセンスや購入に関しては、代理店・メーカにお問い合わせください。
※本コラムは、弊社が実際に開発をした中での経験より構成しております。本内容に準じて実施した結果については、本内容に準じて実施した結果に生じるいかなる影響、損害に関して、責任の無いものといたします。本コラムで紹介しておりますツールについては、合法性、正確性、道徳性、最新性、適切性、著作権の許諾や有無など、その内容については、何らの責任を負うものではありません。また、当社は通知することなく当サイトに掲載した情報の訂正、修正、追加、中断、削除等をいつでも行うことができるものとします。コンテンツのご利用により、万一、ご利用者様に何らかの不都合や損害が発生したとしても、当社は何らの責任を負うものではありません。

富士ソフトがおすすめ!!
エッジAI導入ソリューションはこちら>>

個別相談も承っております。下記よりお申し込みください。

個別相談会申し込み

関連記事

まこちゃんブログ

NEWS

MORE  

PARTNER

  • Intel
  • Xilinx

お探しの組み込み製品はキーワードで検索!