- 印刷する
- PDF
AIForestCLI使用
- 印刷する
- PDF
VPC環境で利用できます。
AI Forestは、CLI(Command Line Interface、コマンドラインインターフェース)を提供します。 ユーザーはAI Forest CLI(以下、AI CLI)利用時、GPUの割り当てを動的に受けて、希望する深層学習ソリューションやプログラムを実行できます。 このガイドでは、利用シナリオに基づいたAI CLIの使用方法を説明します。
AI CLIは現在のLinux環境のみ使用できます。
CentOS 7.Xである場合を基準に説明します。
事前作業
Data Forestのアカウント及びワークスペース作成とクラスタの環境構成作業が必要です。
- NAVERクラウドプラットフォームのコンソールにアクセスします。
- Services > Big Data & Analytics > Data Forest > Accountメニューで [アカウントの作成] ボタンをクリックします。
- DLアプリを提出するアカウントを作成します。
- Services > Big Data & Analytics > Data Forest > AI Forest > Workspaceメニューで [ワークスペース作成] ボタンをクリックしてワークスペースを作成します。
- Data Forestクラスタにアクセスできるように環境構成作業を行います。
- 環境構成方法は、Data Forestを開始するをご参照ください。
AI CLIを開始する
AI CLIを利用するには、必ずVPC環境のVMサーバにアクセスする必要があります。 そして事前作業を通じてVPC環境のVMサーバにData Forestクラスタがアクセスできるように環境構成作業を完了する必要があります。 AI CLIを利用してDLアプリを提出し、確認する方法を説明します。
Step1. AI CLIのダウンロード
AI CLI実行ファイルをダウンロードします。
$ wget http://dist.kr.df.naverncp.com/repos/release/df-env/dist/df-aicli
$ chmod +x ./df-aicli
すべてのファイルの権限は基本的にDF_USER
であるroot
、DF_USER_HOME
は/root
に設定されています。
AI CLIで使用できるコマンドは以下のとおりです。
AI CLI
Usage:
$ ./df-aicli COMMAND [ARGS]...
Options:
- N/A
Commands:
app
:DLアプリの管理及び作業提出のためのコマンドdocker-images
:使用できるDockerイメージ情報
AI CLIアプリ
Usage:
$ ./df-aicli app COMMAND [ARGS]...
Options:
- N/A
Commands:
kill
:実行中の作業を停止する。list
:実行中の作業のリストを照会する。status
:特定作業の詳細情報を照会する。submit
:DLアプリを実行する。
Step2. Jupyter Notebook起動
Jupyter Notebookはオープンソース基盤のウェブプラットフォーム及びアプリケーションです。 Pythonをはじめとする様々なプログラミング言語でコードを作成して実行できる開発環境を提供します。 基本的にPython IDLEのようにインタラクティブシェルの形で提供され、複数のコードと実行結果を一つの文書のように管理できます。 ユーザーは既に持っていた機械学習、深層学習に関するコードを作成して修正するためにJupyter Notebookを使用できます。
詳しい内容は、Jupyter Notebook公式文書をご参照ください。
AI ForestではDockerコンテナを基盤でJupyter Notebookインスタンスを起動できます。
AI CLI Jupyterアプリの実行
Jupyter Notebook DLアプリを実行する。
Usage:
$ ./df-aicli app submit jupyter [OPTIONS]
Options:
--workspace TEXT
:作業ソースを保存するスペース[required]--account TEXT
:Data Forestアカウント[required]--docker-image TEXT
:使用するDockerイメージ[required]--input-path TEXT
:入力データHDFSパス[required]--output-path TEXT
:出力データHDFSパス[required]
Jupyter Notebookを実行する際に使用できるDockerイメージは以下のとおりです。
- notebook_tensorflow_2.3.1:20220414
- notebook_pytorch_1.7:20220414
Output:
Jupyter Notebook DLアプリの実行情報
name
:DLアプリ名id
:DLアプリID
<例>
$ ./df-aicli app submit jupyter --account df-user --workspace ws --docker-image notebook_tensorflow_2.3.1:20220414 --input-path data_in --output-path data_out
dlapp jupyter is submitted
<name> <id>
-------- ------------------------------
jupyter-ojxh application_1
Jupyter Notebook作業を提出した後にDLアプリの状態がRunningになると、正常にノートパソコンを使用できます。
Jupyter Notebook Web UIにアクセス
Jupyter NotebookのWeb UIにアクセスする方法は、以下のとおりです。
- Quick linksのアクセス設定を完了します。
- Data Forest Quick linksと同じです。 SSL VPNを作成してSSHトンネリングを通じてVPCサーバにアクセスし、Jupyter NotebookのWeb UIにアクセスできます。 設定方法の詳細は、以下のガイドをご参照ください。
- AI CLIでWeb UI URL及びトークン情報を確認します。
- Web URL:df-aicli
app status
コマンドでNotebook quick link URL - token:そのコンテナのstderr.txtファイル
<例>
$ ./df-aicli app status --account df-user --app-id application_1643186470613_0577
<account> <id> <name> <status>
----------- ------------------------------ ------------ ----------
df-user application_1643186470613_0577 jupyter-irpw RUNNING
<quicklink> <url>
------------- --------------------------------------------------------------------------------
Shell http://df-user.jupyter-irpw.worker-0.9000.proxy.kr.df.naverncp.com
Notebook http://df-user.jupyter-irpw.worker-0.8888.proxy.kr.df.naverncp.com/?token=
@see https://gnode001.kr.df.naverncp.com:9044/node/containerlogs/container_e814_1643186470613_0577_01_000002/df-user/stderr.txt/?start=0 <- check jupyter notebook token
- ブラウザでURLアクセスしてトークン情報を入力します。
- Jupyter Notebook Web UIを通じて機械学習に関するコードを作成及び修正できます。
Step3. DLアプリの実行
GPUのリソース割り当てを受けてJupyter Notebookで作成されたコードを実行できます。 現在はSinglebatchの形式でのみDLアプリを提出できます。 先に使用できるDockerイメージバージョンを確認し、AI CLI Singlebatchのアプリ実行コマンドを通じてDLアプリを提出できます。
AI CLI Dockerイメージリストの照会
実行する作業のDockerイメージバージョンのリストを照会します。
Usage:
$ ./df-aicli docker-images list [OPTIONS]
Output:
Dockerイメージ名のリスト
docker image
:実行できるDockerイメージ名
<例>
$ ./df-aicli docker-images list
<docker image>
----------------------
jupyter:1.1
pytorch:2.2
tensorflow:3.3
現在のSinglebatchを実行する際に使用できるDockerイメージは以下のとおりです。
notebook_tensorflow_2.3.1:20220414
notebook_pytorch_1.7:20220414
pytorch:v0.2.0
pytorch:v0.3.0
pytorch:v0.3.0-cuda9.0
pytorch:v0.4.0
pytorch:v0.4.1
pytorch:v1.0.0
pytorch:v1.1.0
pytorch:v1.1.0-cuda10
pytorch:v1.2.0-cuda10
pytorch:v1.4
pytorch:v1.7
tensorflow:r1.10
tensorflow:r1.10-py3
tensorflow:r1.11
tensorflow:r1.12
tensorflow:r1.12-py3
tensorflow:r1.14
tensorflow:r1.14-py3
tensorflow:r1.15
tensorflow:r1.15-py3
tensorflow:r1.3
tensorflow:r1.4
tensorflow:r1.4-py3
tensorflow:r1.5-py3
tensorflow:r1.6
tensorflow:r1.6-py3
tensorflow:r1.7
tensorflow:r1.7-py3
tensorflow:r1.8
tensorflow:r2.1
tensorflow:r2.1-py3
tensorflow:r2.3.1-py3
AI CLI Singlebatchアプリの実行
Singlebatch DLアプリを実行する。
Usage:
$ ./df-aicli app submit single [OPTIONS]
Options:
--name-prefix TEXT
:実行作業名[required]--workspace TEXT
:作業ソースを保存するスペース[required]--command TEXT
:実行するスクリプトやコマンド[required]--account TEXT
:Data Forestアカウント[required]--docker-image TEXT
:使用するDockerイメージ[required]--input-path TEXT
:入力データHDFSパス[required]--output-path TEXT
:出力データHDFSパス[required]
Output:
実行DLアプリの情報
name
:実行されたDLアプリ名id
:実行されたDLアプリID
<例>
$ ./df-aicli app submit single --name-prefix job --account df-user --workspace ws --command "sh run.sh" --docker-image tensorflow:r2.1 --input-path data_in --output-path data_out
dlapp sb is submitted
<name> <id>
-------- ------------------------------
sb-dwjw application_1643186470613_0581
DLアプリ作業結果ファイルをHDFSに移動させる
- コンソールで作成したワークスペースに
data_out
という名前のフォルダを作成 or コードでそのフォルダを作成 - DLアプリ作業結果ファイルが
data_out
に作成されるようにコードを作成 - df-aicli app submit singleの実行時、--output-pathオプションに希望するhdfsパスを指定
Step4. DLアプリのリスト及び詳細情報の確認
DLアプリのリスト及び各DLアプリの詳細情報を照会できます。 DLアプリの状態がRunning中お場合にのみリストで確認できます。
AI CLIアプリリストの照会
実行中のDLアプリのリストを照会する。
Usage:
$ ./df-aicli app list [OPTIONS]
Options:
--account TEXT
:Data Forestアカウント[required]
Output:
実行中のDLアプリリスト
name
:DLアプリ名id
:DLアプリID
<例>
$ ./df-aicli app list --account df-user
<name> <id>
------------ ------------------------------
ss-qt2u-siww application_1643186470613_0561
jupyter-sbn6 application_1643186470613_0573
AI CLIアプリの詳細情報を照会
実行中のDLアプリの詳細情報を照会します。
Usage:
$ ./df-aicli app status [OPTIONS]
Options:
--account TEXT
:Data Forestアカウント[required]--app-id TEXT
:提出したDLアプリID[required]
Output:
実行中のDLアプリの詳細情報
account
:DLアプリを実行したData Forestアカウントname
:DLアプリ名id
:DLアプリIDstatus
:DLアプリの状態quicklink
:DLアプリアクセスのQuick link名url
:DLアプリアクセスのQuick link URL
<例>
$ ./df-aicli app status --account df-user --app-id application_1643186470613_0575
<account> <id> <name> <status>
----------- ------------------------------ -------- ----------
df-user application_1643186470613_0575 sb-ojxh RUNNING
<quicklink> <url>
------------- -------------------------------------------------------------------
Shell http://df-user.sb-ojxh.worker-0.9000.proxy.kr.df.naverncp.com
Step5. DLアプリ終了
DLアプリを終了します。 Running状態のDLアプリのみ終了できます。
AI CLIアプリ終了
Usage:
$ ./df-aicli app kill [OPTIONS]
Options:
--account TEXT
:Data Forestアカウント[required]--app-id TEXT
:提出したDLアプリID[required]
Output:
- 終了されたDLアプリID
<例>
$ ./df-aicli app kill --account df-user --app-id application_1643186470613_0530
request kill app-id: ['application_1643186470613_0530']