情報ガイドステーションメニュー
| DockerでJupyterlab使ってコード実行してみた |
こんにちは。Dell EMCでBigData / AIソリューションを担当しているエンジニアの山口です。前回はUbuntuへNVIDIA GPUの搭載とDocker環境の構築手順をご紹介しました。 今回はDeep Learning開発で多く利用されているJupyter Notebookとその後継であるJupyter Labをご紹介します。
Jupyter Notebook / Jupyter Lab
Jupyter NotebokとJupyter Labはデータ分析やDeep Learningモデル作成を行う際に広く利用されているIDE(統合開発環境)です。当社が提供しているAI系のReady SolutionsやReady ArchitectureにもJupyter NotebookやJupyter Labを採用しているものもあります。 右下の図は当社が提供しているReady Solutions for AI のコンポーネント図で、オレンジ色のData Science Portalと表示している部分がJupyter Nodebookをベースとしていて、データサイエンティストがアクセスし利用するツールです。 Data Science Portalは納品時には導入した状態で引き渡しとなり、そのほかにも、Data Science Portalの下に位置しているSlurm SchedulerはGPUリソースの管理ツール。右のBright ClusterはIT管理者が日常的に利用するインフラ管理ツールで、これらのツールも導入済みで納品となります。 Jupyter NotebookやJupyter Labはオープンソースなのでダウンロードして利用いただけるのですが、導入方法はOSにインストールする方法や、Anacondaといわれるツールを利用する方法、今回ご紹介するコンテナで導入して利用する方法など複数の導入方法があります。コンテナを利用するにしても導入方法がいくつかありますのでご自身にあった導入方法を試してください。
Jupyter Labインストール
ここからDockerでのJupyter Lab導入手順をご紹介します。 今回はJupyter Labがどういったものなのかを感じていただくように、DockerHubからTensorflowとpython3が導入済みのコンテナをダウンロードして利用します。 では、Docker環境のホストOSへログインします。 ※Docker環境の導入は前回記事(こちら)を参照してください。 Docker HubのTensorflowのレポジトリからGPUとpython3に対応したコンテナをダウンロードします。 ダウンロード完了後にダウンロードしたイメージのIMAGE IDを確認します。 ダウンロードしたコンテナのpipが古いのでバージョンアップします。 ※ここからはコンテナ内での操作になります。 Jupyter Labをインストールします。 Jupyter labを起動します。 Jupyter labコマンドを実行すると「 http://127.0.0.1:8888/?token=文字列 」と表示されるので、127.0.0.1をコンテナホストのIPアドレスに変更してブラウザでアクセスし、下のような画面が表示されればJupyter Labのインストールは完了です。
動作確認:サンプルコードの実行
せっかくなのでJupyter Labを使ってTensorflowから公開されているMNISTのサンプルコードを実行してみたいと思います。 MNISTは公開されているデータセットで手書き数字の画像や洋服の画像などで、Deep Learningを初めて学ぶときに利用されることが多く、インターネットにも多くの情報があります。 コードの実行前に必要なモジュールをインストールします。 下スクリーンショットにある赤枠のTerminalを選択すると、Jupyter Lab内にTerminalのタブが開きます。 下のコマンドを実行しモジュールをインストールします。 これはJupyter LabのTerminalで実行できますが、コンテナにアクセスして直接コンテナ内でも実行できます。 事前準備は完了したのでここからコードを書いてきます。 Notebook項目のPython3を選択して新規Notebookを開き、コードを書きます。 ※コードはこちらから入手できます。 コードが書き終わったら、実行します。 各セルごとに「 Shift+Enter 」キーで実行することもできますが、Runメニューからまとめて全てのセルを実行します。 コードを実行していくと、モデルの学習と評価などが進んできます。 コードの実行が進んでいくとNotebookの途中で次のような画像が表示されますが、これは作成したモデルを利用していくつかの画像の分類を行った結果です。 左上の靴はブーツであることを100%の確立で判断していますが、左下のスニーカーは88%の確立でサンダルと判断しています。このサンプルでは高い確率で判断していても、モデルの分類が間違うこともあるので実際のAIプロジェクトでは注意が必要です。 今回はDocker Hubに公開されているコンテナを利用してJupyter Labの導入とMNISTの実行を試してみましたが、前述のとおりJupyter Labの導入方法は複数ありますのでご自身の環境や目的に合わせて導入方法を検討してみてください。 Dell Technologies ソリューション本部 シニアシステムエンジニア 山口 泰亜 2020/7/31 関連記事はこちら情報ガイドステーション ソリューションページNVIDIA GPUとコンテナでAI環境作ってみた DockerでJupyterlab使ってコード実行してみた GPUのために設計されたサーバー 「PowerEdge C4140」 の実績と実力! AI環境でGPUリソースを有効活用 BitfusionでGPUをプール化(概要編) AI環境でGPUリソースを有効活用 Bitfusionの利用環境と方法 AI環境でGPUリソースを有効活用 BitfusionでGPUのメモリ分割 AI環境でGPUリソースを有効活用 他ソフトウェアと連携してBitfusionをもっと便利に AI環境でGPUリソースを有効活用 ベアメタルサーバもBitfusionで高速化! HPC and AI Innovation Labのご紹介 サンディエゴスーパーコンピューターセンターの新スパコン 「Expanse」 にDellEMCのAMDサーバーが採用! |