AIForestCLI使用
    • PDF

    AIForestCLI使用

    • PDF

    Article Summary

    VPC環境で利用できます。

    AI Forestは、CLI(Command Line Interface、コマンドラインインターフェース)を提供します。 ユーザーはAI Forest CLI(以下、AI CLI)利用時、GPUの割り当てを動的に受けて、希望する深層学習ソリューションやプログラムを実行できます。 このガイドでは、利用シナリオに基づいたAI CLIの使用方法を説明します。

    参考

    AI CLIは現在のLinux環境のみ使用できます。
    CentOS 7.Xである場合を基準に説明します。

    事前作業

    Data Forestのアカウント及びワークスペース作成とクラスタの環境構成作業が必要です。

    1. NAVERクラウドプラットフォームのコンソールにアクセスします。
    2. Services > Big Data & Analytics > Data Forest > Accountメニューで [アカウントの作成] ボタンをクリックします。
    3. DLアプリを提出するアカウントを作成します。
    4. Services > Big Data & Analytics > Data Forest > AI Forest > Workspaceメニューで [ワークスペース作成] ボタンをクリックしてワークスペースを作成します。
    5. 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であるrootDF_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にアクセスする方法は、以下のとおりです。

    1. Quick linksのアクセス設定を完了します。
      • Data Forest Quick linksと同じです。 SSL VPNを作成してSSHトンネリングを通じてVPCサーバにアクセスし、Jupyter NotebookのWeb UIにアクセスできます。 設定方法の詳細は、以下のガイドをご参照ください。
    2. 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
    
    1. ブラウザでURLアクセスしてトークン情報を入力します。
      df-af-dlcli_01_vpc
    2. 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に移動させる

    1. コンソールで作成したワークスペースにdata_outという名前のフォルダを作成 or コードでそのフォルダを作成
    2. DLアプリ作業結果ファイルがdata_outに作成されるようにコードを作成
    3. 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アプリID
    • status: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']
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.