先日公開さ入れた、Clara Train SDK v4.0 のチュートリアルを行い、どこが変わったのかを眺めてゆきます。

Clara Train SDK v4.0 ドキュメント がありますが、これを併用し、JupyterNote book 版を使ってv4.0 の理解を深めてゆきたいと思います。

[Git Hub のリンク先]

Clara Train Example


v4.0 からは、Tensorflow base のシステムから、Pytorch base の MONAI フレームワークに変更されています。そのため、参照する先のディレクトリは、Pytorch/Notebook になります。ただまずは、git clone でこのディレクトリを取得しておきましょう。


$git clone https://github.com/NVIDIA/clara-train-examples.git
$ cd clara-train-examples/PyTorch/NoteBooks/
~/clara-train-examples/PyTorch/NoteBooks$ ls
AIAA  AutoML  Data  DomainExamples  FL  GettingStarted  readMe.md  screenShots  scripts  Welcome.ipynb

となり、おなじみの Weclom.ipynb が現れました。では Readme に従って、前準備をしてゆきます。ただ、readme の内容は、一から準備しているので、Nvidia のドライバーであるとか、Docker はインストールした状態にあるとします。このExample で、3.1 Start Docker compose を使い、triuon server と併用して使用する場合には、docker-compose も必要です。

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose


となると、Nvidia-Docker v2.x 準拠でないといけません。compose 自体が何か特殊なことをしているわけではないと思いますので、それは後程解析することにして、ここでは、nvidia-docker2 を追加でインストールしておいて、つまり、

/etc/apt/source.list.d/nvidia-docker.list


cat /etc/apt/sources.list.d/nvidia-docker.list
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu18.04/$(ARCH) /


の最後の行、nvidia-docker も追加した状態で


$sudo apt update;apt install nvidia-docker2
$sudo systemctl restart docker
$docker info | grep nvidia
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc
WARNING: No swap limit support
WARNING: No blkio weight support
WARNING: No blkio weight_device support


docker runtime に nvidia が加わっていることを確認してください。

$ bash ./startClaraTrainNoteBooks.sh

それでは、NoteBooks が立ち上がるか確認してみましょう。

Stopping aiaa-triton ... done
Removing claradevday-pt ... done
Removing aiaa-triton    ... done
Removing network claratrain-triton_default
------------------------------------------------
------------------------------------------------
Creating network "claratrain-triton_default" with the default driver
Creating aiaa-triton ... done
Creating claradevday-pt ... done
---wait 1
---wait 2
---wait 3
---wait 4
---wait 5
---wait 6
[I 04:59:15.549 LabApp] http://claratrain:8888/?token=d4ebd132542ba4f775061f6b5e5c89d752f3b3b40a450f55
[I 04:59:15.549 LabApp]  or http://127.0.0.1:8888/?token=d4ebd132542ba4f775061f6b5e5c89d752f3b3b40a450f55

コンテナの起動はできたようですが、オリジナルの docker-compose.yml では triton AIAA サーバを使う前提なので、いくつか最初のチュートリアルができません。少し考えたのですが、バニラな状態にして、そこはAIAA の回で改めて解説し、startClaraTrainNoteBook サービスを停止し、Docker container イメージだけを起動して、まずはv3.1 と v4.0に違いがあるかを見てゆこうと思います。triton のサービスは停止ししてゆきます。

$ bash ./stopClaraTrainNoteBooks.sh
Stopping claradevday-pt ... done
Stopping aiaa-triton    ... done
Removing claradevday-pt ... done
Removing aiaa-triton    ... done
Removing network claratrain-triton_default

そうしておいて、Clara stain sdk コンテナから、jupyter notebook を立ち上げてみましょう。


$ bash ./startDocker.sh
-----------------------------------
starting docker for nvcr.io/nvidia/clara-train-sdk:v4.0 using GPUS all jnotebookPort 3030
-----------------------------------
d90b884c043851050a5cf62a580b4890c11afc79e98f8b654083a77070fde49e
---wait 1
---wait 2
---wait 3
---wait 4
---wait 5
---wait 6
[I 07:06:25.890 LabApp] http://hostname:8888/?token=8578b37abc8c9d3470243d023e9302e147d919fd47b964e4
        http://hostname:8888/?token=8578b37abc8c9d3470243d023e9302e147d919fd47b964e4


ここまで来たら、webブラウザを使い、Jupyter note book を開いてみましょう。



ログインすると、次のように見えるようになります。