- 概要
- スタートアップガイド
- ユーザガイド
-
リファレンス
-
ABEJA Platform CLI
- CONFIG COMMAND
- DATALAKE COMMAND
- DATASET COMMAND
- TRAINING COMMAND
-
MODEL COMMAND
- check-endpoint-image
- check-endpoint-json
- create-deployment
- create-endpoint
- create-model
- create-service
- create-trigger
- create-version
- delete-deployment
- delete-endpoint
- delete-model
- delete-service
- delete-version
- describe-deployments
- describe-endpoints
- describe-models
- describe-service-logs
- describe-services
- describe-versions
- download-versions
- run-local
- run-local-server
- start-service
- stop-service
- submit-run
- update-endpoint
- startapp command
-
ABEJA Platform CLI
- FAQ
- Appendix
run-local
説明
本コマンドを実行すると、 --image
で指定した環境をローカル上に構築し、ローカルに存在するモデルをその環境上で一度だけ実行します。
--input
で指定したファイルの中身をモデルの入力として実行し、その結果を出力します。
※ run-local
コマンドを使用するためには、 docker がインストールされている必要があります。
概要
$ abeja model run-local [--help]
Usage: abeja model run-local [OPTIONS]
Local run commands
Options:
-h, --handler TEXT Model hanlder [required]
-i, --image TEXT Base-image name [required]
-d, --device_type [x86_cpu|x86_gpu|jetson_tx2|raspberry3]
Device type
--input TEXT Input data [required]
-e, --environment ENVIRONMENTSTRING
Environment variables
--no-cache, --no_cache Not use built cache
-q, --quiet Suppress info logs
--v1 Specify if you use old custom runtime image
--help Show this message and exit.
オプション
-h
, --handler
呼び出す関数のパスを指定します。
--handler main:handler
とした場合には、 main.py
のファイル内に定義されている handler
を呼び出します。
呼び出すファイルが src ディレクトリ直下に置かれている場合は、 src.main:handler
になります。
-i
, --image
使用するイメージを指定します。 指定可能なイメージについてはこちらを参照して下さい。
-d
, --device_type
デバイスタイプを指定します。 [x86_cpu, x86_gpu, jetson_tx2, raspberry3]
--input
入力するファイルを指定します。ここで指定したファイルが、モデルへの入力となります。
入力可能なファイルの拡張子は、 json
, jpeg
, png
, gif
です。
-e
, --environment
環境変数を指定します。登録された環境変数はコードから参照できるようになります。 例)IMAGE_WIDTH:100
ユーザーの指定可能な環境変数についての詳細は、こちらを参照ください。
--no-cache
, --no_cache
再ビルドを行い、イメージを作り直します。
-q
, --quiet
info ログの出力を抑制します。
--v1
18.10
系のカスタムイメージを使用する際にはこのオプションを与える必要があります。
例
ローカル環境での実行
前提:
- 以下のような状態になっているものとします。
$ cat main.py
def handler(iter, context):
for data in iter:
yield data
$ cat input.json
{
"val": 12345
}
コマンド:
$ abeja model run-local -h main:handler -i abeja/all-cpu:18.10 --input ./input.json
出力:
[info] preparing image : abeja/all-cpu:18.10
Pulling from abeja/all-cpu:18.10
...
Pull complete
Digest: sha256:1605a09f7669c2a25fc1db321e7ec1304c125b93171ef654653940ef882baebf
Status: Downloaded newer image for abeja/all-cpu:18.10
[info] building image
...
Successfully built 58ba7ff0edf4
[info] setting up local server
[info] waiting server running
[info] sending request to model
[info] finish requesting to model
[{'val': 12345}]