Command Line Interface (CLI)

Neopulse®Studioを実行しているマシンのコマンドラインでは、次のコマンドがあります。該当する場合は、[概要](JP-AIS-overview.md)からMNISTプロジェクトの例にコマンドセグメントの例を接続します。

Config

Neopulse®Studioアプリケーションのlocalhost上で実行されるポートを変更します。本コマンドは、デフォルトで選択されたポートを変更したい場合に用います。

このコマンドは、次の構文を使用します。

neopulse config [options]

オプション

オプション エイリアス 入力タイプ 説明
--server_port Number Neopulse®サーバー実行ポート(デフォルト:46921)
--db_port Number Neopulse®データベース実行ポート(デフォルト:46922)
--queue_port Number Neopulse®キュー実行ポート(デフォルト:46923)
--gui_port Number Neopulse®GUI実行ポート(デフォルト:46924)
--visualize_port Number プロジェクトトレーニング視覚化実行ポート(デフォルト:46925)
--rtq_default_port Number リアルタイムクエリのモデル展開ポート(デフォルト:46926)

neopulse config --server_port 23456

この例では、Neopulse®Server実行ポートがポート23456に変更されます。そのため、REST APIはこの新しいポートに表示されます。

Delete

プロジェクトへのクエリ、またはプロジェクト全体のどちらかを削除します。必要なオプション -pまたは-qが欠落している場合、それに応じてCLIがそれらのためにプロンプトを促します。その後、CLIは削除の確認を求めます(Y / N)。このコマンドは、現在のNeopulse®Studioの現在のインスタンスでプロジェクトまたはクエリが不要になった場合に用います。

このコマンドは、次の構文を使用します。

neopulse delete [options]

オプション

オプション エイリアス 入力タイプ 説明
--project -p String 削除されるプロジェクト名
--query -q String 削除されるクエリのID
--force -F 強制削除フラグ

neopulse delete -p MNIST_Project -F

この例では、MNISTプロジェクト全体が削除されます。-Fフラグは、プロジェクトを強制的に削除するためにも含まれています。

Export

プロジェクト中の特定のAIモデルをPortable Inference Model(PIM)ファイルとして出力します。本コマンドは、学習済みモデルを他のNeopulse®StudioまたはNeopulse®ランタイムに共有する必要がある場合に用います。

本コマンドは、次の構文を使用します。

neopulse export <project_name> [options]

引数

引数 入力タイプ 説明
<project_name> String エクスポートされるモデルを含むプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--directory -d エクスポートされたモデルを保存するディレクトリへの絶対パス
--file -f エクスポートされたモデルのファイル名(拡張子.pimを除く)
--model -m エクスポートされるモデルのID( で指定されたプロジェクト内)
--iter -i エクスポートされるモデルのイテレーション

注意: この関数が正しく機能するために、エクスポートされたモデルと同じ名前のファイルが、保存先ディレクトリにないことを確認してください。また、ユーザーがそのディレクトリへの書き込み権限を持っていることを確認してください。

neopulse export MNIST_Project -d /absolute/path/to/directory -f MNIST_Model -m MNIST_Project_2 -i 5

この例では、MNISTプロジェクトの2番目のモデルのIteration5がエクスポートされます。注Neopulse®Studioは、AIモデルの学習終了後、名前を自動的に付与します。エクスポート完了後、PIMファイルは mnist_model.pimというタイトルになります。

Import

他のNeopulse®StudioからPIMファイルをインポートします。

本コマンドは、次の構文を使用します。

neopulse import [options]

オプション

オプション エイリアス 入力タイプ 説明
--project -p String インポートされているプロジェクト名
--path-to-file -path String インポートするPIMファイルへの絶対パス

neopulse import -p MNIST_Project_Import -path /absolute/path/to/MNIST_Model.pim

この例では、以前にエクスポートされたMNISTモデルは、Neopulse®Studioの現在のインスタンスにインポートされます。インポートされたプロジェクト名は、現在既存のプロジェクト名と被るため、他のプロジェクト名が指定されています。 mnist_project_import。インポートされたMNISTモデル自体は、それに応じて名前が付けられます(すなわち mnist_project_import_1)。

Help

Neopulse®Studio内で利用可能なコマンドに関するヘルプ情報を表示します。

このコマンドは、次の構文を使用します。

neopulse help <command_name>

引数

引数 入力タイプ 説明
String 指定された場合、より多くの情報が要求されているコマンドの名前が含まれています。

neopulse help

この例では、Neopulse®Studioで使用可能なすべてのコマンドに関する一般情報が一覧表示されます。

neopulse help train

この例では、コマンド Neopulse Trainに関するより具体的な情報が表示されます。

List

指定されたプロジェクトまたはAIモデルに関する情報を表示します。引数としてプロジェクトが指定されない場合は、すべてのプロジェクトに関する情報が表示されます。-mタグとそれに対応するモデルIDを含むと、その1つの特定のモデルのためだけに同じ情報が表示されます。

このコマンドを使用すると、プロジェクト/モデルの次のStatusが返されます。

  • トレーニングのStatus: "WAITING_TO_TRAIN", "TRAINING", "COMPILING", "TRAINING_COMPLETED", "ERROR", "TRIMMED_PROJECT"

  • クエリのStatus: "WAITING_TO_QUERY", "QUERYING", "QUERY_COMPLETED", "ERROR"

このコマンドは、次の構文を使用します。

neopulse list <project_name> [options]

引数

引数 入力タイプ 説明
String 提供されている場合は、モデル情報がリストされるプロジェクト名が含まれています。

オプション

オプション エイリアス 入力タイプ 説明
--model -m String 情報が要求されているモデルのID
--all -a 指定されたときにモデルの自動パラメータの詳細も表示されるブールフラグ(プロジェクト名またはモデルIDと一緒に送信する必要があります)。

注意: すべてのブールフラグをコマンドの最後に指定する必要があります。正しい使用方法の例を参照してください。

neopulse list MNIST_Project

この例では、MNISTプロジェクトの下のすべてのモデルに関する情報が表示されます。

neopulse list -m MNIST_Project_4 -a

この例では、MNISTプロジェクトの4番目のモデルに関する情報のみが表示されます。さらに、その自動パラメータの詳細が表示されます。Neopulse®Studio内のプロジェクトモデルの自動命名方式に注意してください。

Logs

ServerまたはNeopulseサービスのいずれかのログを表示します。サーバーモジュールは、レコードプロジェクトワークフローとその段階を記録します。これらログの閲覧に用います。

このコマンドは、次の構文を使用します。

neopulse logs <module_name> [options]

引数

引数 入力タイプ 説明
<module_name> String 取得するログモジュールの名前(エントリは NEOPULSE または SERVER のいずれかでなければなりません)

オプション

オプション エイリアス 入力タイプ 説明
--lines -l Number 表示するログの最後の行数

neopulse logs server -l 100

この例では、サーバーモジュールログの最後の100行が表示されます。

neopulse logs neopulse -l 500

この例では、最後の500行のNeopulse®サービスログが表示されます。

Query

指定されたモデルに対し、CSVファイルで提供されている入力データを送付します。CSVの入力データは、モデルが学習されたデータ構造と一致しなければなりません。本コマンドは、学習済モデルを使用するのに用います。クエリ要求が成功した後、CLI内の他の機能と共に使用するために、一意のクエリIDが返されます。

このコマンドは、次の構文を使用します。

neopulse query <project_name> [options]

引数

引数 入力タイプ 説明
<project_name> String 照会するモデルが属するプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--model -m String プロジェクトのモデルID * *照会されるものです。
--iter -i Number 照会されるモデルのiteration数
--path-to-file -path String モデルのiterationを照会するための入力CSVファイルへの絶対パス

neopulse query MNIST_Project -path /absolute/path/to/query.csv

この例では、オプション -m-iが提供されていなかったので、CLIはMNISTプロジェクトの下のモデルのどの繰り返しを照会するかを要求します。その後、選択されたモデルと繰り返しは、入力CSV/絶対/パス/ / query.csvを使用して結果のために照会されます。MNISTプロジェクトの目標が手書きの数字を分類することであることを思い出してください。入力CSVには画像データが含まれています。最後に、この要求のための固有のクエリID「R1FGJMHK-0」が返されます。

Results

送信されたクエリジョブに関する情報を表示します。クエリのステータスと最新のアップデートの時刻が、モデルID、繰り返し、およびクエリで使用される入力CSVへのパスと並んで表示されます。--show booleanフラグが含まれている場合は、代わりにクエリの実際の出力が表示されます。このコマンドは、クエリに属する出力または背景を表示するのに役立ちます。

このコマンドは、次の構文を使用します。

neopulse results <query_id> [options]

引数

引数 入力タイプ 説明
<query_id> String クエリジョブが送信されたときに返されたクエリID

オプション

オプション エイリアス 入力タイプ 説明
--show 指定されたときにクエリジョブの結果を で印刷する

注意: すべてのブールフラグをコマンドの最後に指定する必要があります。正しい使用方法の例を参照してください。

neopulse results r1fgjMHK-0 --show

この例では、 --showフラグが含まれているため、クエリIDR1FGJMHK-0に対応する正常なクエリ要求の出力が表示されます。MNISTプロジェクトの目標は手書きの桁数の画像を分類することですので、表示される出力は、どのクラス(数字0~9)の各画像が属するかについての照会されたモデルの予測になります。言い換えれば、各画像はサイズ10の出力ベクトルに対応し、各列はその画像がそのインデックスで桁に属する確率を含みます。

Shutdown

Neopulse®Studioアプリケーションをシャットダウンします。操作がNeopulse®Studioで進行中である場合。トレーニングまたはクエリ、 -fオプションが含まれていない限り、このコマンドは失敗します。現在進行中の操作の結果は、Neopulse®Studioが強制的にシャットダウンされた場合に失われます。このコマンドは、Neopulse®Studioアプリケーションのインスタンスをシャットダウンするのに役立ちます。

このコマンドは、次の構文を使用します。

neopulse shutdown [options]

オプション

オプション エイリアス 入力タイプ 説明
--force -F 強制指定フラグ

注意: すべてのブールフラグをコマンドの最後に指定する必要があります。正しい使用方法の例を参照してください。

neopulse shutdown -F

この例では、Neopulse®Studioアプリケーションはシャットダウンされます。さらに、 -fフラグが含まれているため、MNISTプロジェクトが現在訓練中または照会されていても、Neopulse®Studioはシャットダウンします。そのため、これらの操作の結果は失われます。

Start

Neopulse®Studioアプリケーションを起動します。アプリケーションが起動したら、 -fフラグが含まれていない限り、このコマンドは失敗します。これはNeopulse®Studioを再起動するように促します。このコマンドは、Neopulse®Studioアプリケーションのインスタンスを起動する際に用います。

このコマンドは、次の構文を使用します。

neopulse start [options]

オプション

オプション エイリアス 入力タイプ 説明
--force -F 強制指定フラグ

注意: すべてのブールフラグをコマンドの最後に指定する必要があります。正しい使用方法の例を参照してください。

neopulse start -F

この例では、Neopulse®Studioアプリケーションはすでにマシン上で実行されています。-fフラグを含めることは、Neopulse®Studioが再起動すること指定します。

Status

Neopulse®Studioアプリケーションのステータスを表示します。このコマンドは、Neopulse®Studioが現在マシン上で実行されているかどうかを確認するのに用います。

このコマンドは次の構文で実行されます。

neopulse status

Stop

現在トレーニングモデルを停止し、訓練を受けているモデルを削除することで、プロジェクトのトレーニングプロセスを停止します。このコマンドは、特定のプロジェクトのトレーニングが何らかの理由で停止しなければならない場合に役立ちます。トレーニングは間違った入力CSVまたはその他のプロジェクトのトレーニングが後でキューに入れられたが、最初に発生するはずです。CLIはコマンドを実行した後に確認を求めます。

このコマンドは、次の構文を使用します。

neopulse stop <project_name>

引数

引数 入力タイプ 説明
<project_name> String トレーニングを停止するプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--force -F 強制指定フラグ

注意: すべてのブールフラグをコマンドの最後に指定する必要があります。正しい使用方法の例を参照してください。

neopulse stop MNIST_Project -F

この例では、MNISTプロジェクトのトレーニングプロセスが停止されます。このように、学習プロセスは停止されます。-fフラグを含めると、実行時に停止のユーザ確認がスキップされます。

Top

指定された性能メトリックにおいて最高点数を持つプロジェクト内のAIモデルのiterationを返します。本コマンドは、学習されたモデルをプロジェクト内から最適なモデルを選定する場合に有用です。

このコマンドは、次の構文を使用します。

neopulse top <project_name> [options]

引数

引数 入力タイプ 説明
<project_name> String トップモデルがフィルタリングされるプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--metric -t String 指定性能メトリック
--number Number 上位モデル数(デフォルト:3)
--order String デフォルトの順序付けおよび表示結果がそれぞれ最小値または最大の最小値から表示された結果を上書きするための min または max のいずれかを提供できます。

neopulse top --order max

この例では、必要な引数 とオプション -tが省略されているため、CLIはそれらを入力するように促します。- Order Maxが含まれているため、パフォーマンスメトリックを選択すると、そのメトリックに従って最も高いスコアを持つ3つのモデル/iterationコンボが表示されます。

neopulse top MNIST_Project -t val_loss --number 5

この例では、検証損失が最も少ないMNISTプロジェクト内の5つのモデル/iterationコンボが表示されます。

Train

モデルのトレーニングジョブを送信してプロジェクトを作成します。プロジェクトのトレーニングが正常に送信されると、project_idが生成され、返されます。 このコマンドは、[NML](NML-overview.md)ファイルの仕様に従って設計されたモデルを作成するときに用います。

このコマンドは、次の構文を使用します。

neopulse train [options]

オプション

オプション エイリアス 入力タイプ 説明
--project -p String 作成するプロジェクト名
--path-to-file -path String トレーニングプロセスの指定に使用されるNMLファイルへの絶対パス
--overwrite -o trueに設定すると、同じ名前の既存プロジェクトが削除されます。

注意: プロジェクトをトレーニングする場合、関連するトレーニングデータは、すべてNMLスクリプトと同じディレクトリまたはサブディレクトリに編成する必要があります。NMLおよびCSVファイルのパス名は、NMLスクリプトが存在するディレクトリに対する相対的なものである必要があります。project_nameを指定しない場合は、NMLファイルの名前が代わりに使用されます。

注意: -oフラグが含まれていない限り、プロジェクトが同じ名前のプロジェクトが存在すると、トレーニングは失敗します。

neopulse train -p MNIST_Project -path /absolute/path/to/file.nml -o

この例では、 -Oフラグを含めるために、MNISTプロジェクトは作成され、同じ名前のプロジェクトを上書きします。MNISTプロジェクトの対応するモデルは、NMLファイル / absolute / path / / file.nmlに従って作成されます。なお、NMLファイル自体がこのCSVを参照すると、画像データを含む入力CSVへのパスが提供されていないことに注意してください。

Trim

指定されたiteration以外のプロジェクト内のすべてのAIモデルを削除します。トリミングを可能にするには、プロジェクトがトレーニングを完了しているか、ユーザによって停止されている必要があります。

このコマンドは、次の構文を使用します。

neopulse trim <project_name> [options]

引数

引数 入力タイプ 説明
<project_name> String トリミングされるプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--model -m String 保存されるモデルのID
--iter -i Number 保存されるモデルのイテレーション

neopulse trim MNIST_Project -m MNIST_Project_1 -i 8

この例では、MNISTプロジェクトの最初のモデルの繰り返し8が保存されます。その他のMNISTモデルとそれらの対応するiterationは削除されます。

Visualize

Tensorboardをブラウザで表示します。本コマンドが正しく動作するためには、指定されたプロジェクトが、少なくともトレーニングが開始済みの既存プロジェクトである必要があります。デフォルトでは、視覚化ツールはLocalHostのポート46925に表示されます。 本コマンドにproject_nameを指定すると、そのプロジェクトのモデル可視化が開始され、shutdownパラメータをTrueに設定すると、既存の可視化セッションがすべて終了します。

このコマンドは、次の構文を使用します。

neopulse visualize <project_name>

引数

引数 入力タイプ 説明
<project_name> String 視覚化されるプロジェクト名

オプション

オプション エイリアス 入力タイプ 説明
--shutdown アクティブなプロジェクトの視覚化セッションを停止します

注意:: Project_nameを指定する場合は、shutdownをFalseに設定します。可視化セッションを終了する場合、Project_nameを指定せず、shutdownをTrueに設定します。

neopulse visualize MNIST_Project

この例では、MNISTプロジェクトのトレーニングのテンソルボードグラフィカルビジュレーションセッションが開始され、ローカルホストのポート46925に表示されています(以前に「Neopulse Config」によって変更されていない限り)。

neopulse visualize --shutdown

この例では、現在実行中のテンソルボードのグラフィカルビジュアライゼーションセッションがすべて停止されました。

v4の新機能: Real-Time Query (RTQ)

今回のNeoPulse®リリースにより、バッチクエリーコマンドに加え、リアルタイム推論モデルを展開(デプロイ)できるようになりました。この機能をサポートするために、4つの新しいコマンドIが追加され、ユーザは、リアルタイムクエリー(RTQ)モデルを展開、リストアップ、再展開、削除できるようになりました。

注意: CLIから、リアルタイムクエリモデルを管理することは可能です。モデルのリアルタイムクエリを実際に実行するには、REALTIME_QUERY API を参照してください。

CLIから、RTQファミリのコマンドは次の構文を共有しています。

neopulse rtq <rtq_command> [command_options]

Deploy

ユーザーが指定したポートにリアルタイムクエリのモデルをデプロイします。デプロイメントのデフォルトポートは46926で、 Neopulse config --rtq_default_portを使って変更できます。さらに、このコマンドの --portオプションを使用して、モデルをデフォルト以外にも有効なポートに展開できます。ユーザーがモデルを配置する特定のポートを指定できるようにすることで、モデルを専用のポートに展開することも、同じポートにデプロイされた複数のモデルを持つことができます。この柔軟性は、一般的なREALTIME_QUERY APIの予想される使用法に依存しています。このコマンドは、リアルタイムクエリのモデルをステージングするのに役立ちます。すべてのモデルは、クエリCLI / APIを使用してバッチクエリされますが、RealTime_Query APIを使用して展開されたモデルのみを調べることができます。必要なオプション -m-iのいずれかが欠けている場合、CLIはそれに応じてそれらのためにプロンプトを促します。

注意: 展開が成功すると、CLIはデプロイされたモデルにアクセスする方法を説明するメッセージを印刷します。REALTIME_QUERY APIも役立ちます。

このコマンドは、次の構文を使用します。

neopulse rtq deploy [options]

オプション

オプション エイリアス 入力タイプ 説明
--model -m String 展開するモデルのID
--iter -i Number 展開されるべき所与のモデルのiteration
--rtqid -r String デプロイされたモデルのための固有のRTQ ID。指定されていない場合は、自動的に生成されます。
--port Number モデルのRTQを公開する有効なポート(デフォルト:46926)
--desc String 基準のためのモデルを記述するテキスト

neopulse rtq deploy -m MNIST_Project_4 -i 6 -r mnist_model

この例では、 --portオプションを使用して別のポートが指定されていないため、MNISTプロジェクトの4番目のモデルの繰り返し6はRTQ_DEFAULT_PORT(46926)に展開されています。デプロイされたモデルは --descオプションが指定されていないため、mnist_modelと空の説明のRTQ IDを持ちます。

List

リアルタイムクエリに展開されているすべてのモデルに関する情報を表示します。具体的には、RTQ ID、モデルID、モデルのiteration、ポート番号、最終変更日時、説明、ステータス、およびバージョンが含まれます。このコマンドは、すべてのRTQモデルに関する重要な情報を得るのに役立ちます。

このコマンドは次の構文で実行されます。

neopulse rtq list

Redeploy

展開しているRTQモデルを再デプロイします。この機能により、ユーザーは特定のRTQ IDに展開されたモデルを別のモデルと置き換えることができます。このコマンドは、既存のインフラストラクチャを変更して新しいモデルを利用する必要なしに基礎となるモデルを更新できるように、プロダクションに展開されたリアルタイムクエリモデルに役立ちます。必要なオプション -r-m-iが欠落している場合、CLIはそれに応じてそれらのためにプロンプトを促します。

このコマンドは、次の構文を使用します。

neopulse rtq redeploy [options]

オプション

オプション エイリアス 入力タイプ 説明
--rtqid -r String 新しいモデルが古いモデルに置き換えるユニークなRTQ ID
--model -m String 展開する新しいモデルのID
--iter -i Number 展開される新しいモデルのiteration
--desc String リファレンスのための新しいモデルを記述するテキスト

neopulse rtq redeploy -r mnist_model -m MNIST_Project_3 -i 20 --desc MNIST Digit Classification Model

この例では、MNISTプロジェクト内の3番目のモデルのiteration20は、以前に展開されていたモデルをRTQ ID mnist_modelに置き換えます。さらに、「Neopulse RTQ List」を使用する場合、このモデルの説明に従って、「MNIST桁分類モデル」というテキストが表示されます。

Remove

リアルタイムクエリを使用して展開モデルを尋問する機能を削除します。ただし、Neopulse®からモデルを完全に削除しません。このコマンドは、必要になったらRTQからモデルを停止するのに役立ちます。必要なオプション -Rが欠落している場合、CLIはそれに応じてそれを求めます。

このコマンドは、次の構文を使用します。

neopulse rtq remove [options]

オプション

オプション エイリアス 入力タイプ 説明
--rtqid -r String 削除されるデプロイモデルの固有のRTQ ID

neopulse rtq remove -r mnist_model

この例では、RTQ ID mnist_modelのデプロイされたMNISTモデルは「アンデプロイ」されます。すなわち、リアルタイムクエリには使用できなくなります。ただし、このモデルはまだNeopulse®内に存在し、RTQファミリの外部のコマンドによってアクセスできます。