- 概要
- スタートアップガイド
- ユーザガイド
-
リファレンス
-
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
train-local
本ページはバージョン0.11
以降を利用しているユーザーにのみ有効です。
バージョン 0.11
以前の train-local
コマンドは 0.11
以降から debug-local に名称が変更しました。ご利用のユーザーは debug-local を参照ください。
説明
本コマンドを実行すると、 --version
で指定した学習ジョブ定義バージョンをローカル環境上で実行します。
※ train-local
コマンドを使用するためには、 docker がインストールされている必要があります。
概要
$ abeja training train-local [--help]
Usage: abeja training train-local [OPTIONS]
Local train commands
Options:
-o, --organization_id, --organization-id TEXT
Organization ID, organization_id of current
credential organization is used by default
[required]
--name TEXT Training Job Definition Name [required]
--version TEXT Training Job Definition Version [required]
-d, --description TEXT Training Job description
--datasets DATASETPARAMSTRING Datasets name
-e, --environment ENVIRONMENTSTRING
Environment variables
-v, --volume VOLUMEPARAMSTRING Volume driver options, ex) /path/source/on/h
ost:/path/destination/on/container
--v1 Specify if you use old custom runtime image
--runtime TEXT Runtime, equivalent to docker run
`--runtime` option
--config PATH Read Configuration from PATH. By default
read from `training.yaml`
--help Show this message and exit.
オプション
-o
, --organization_id
, --organization-id
オーガニゼーションIDを指定します。ここで指定したオーガニゼーションIDは、ABEJA_ORGANIZATION_ID
というキーで環境変数に登録され、実行する学習コードから参照可能になります。
--name
学習ジョブ定義名を指定します。
--version
呼び出す関数のパスを指定します。
--handler main:handler
とした場合には、 main.py
のファイル内に定義されている handler
を呼び出します。
呼び出すファイルが src ディレクトリ直下に置かれている場合は、 src.main:handler
になります。
-d
, --description
学習ジョブの説明です。
--datasets
使用するデータセットを次のフォーマットにて指定します。 {dataset_name}:{dataset_id}
登録されたデータセットは学習コードの引数として与えられるコンテキストから参照できるようになります。
( バージョン 0.14.0
以降 ) training.yaml
が存在すれば、 training.yaml
の datasets
の値が使用されます。
このオプションで training.yaml
の datasets
に定義されている環境変数を上書きすることができます。
-e
, --environment
環境変数を指定します。登録された環境変数はコードから参照できるようになります。 例)IMAGE_WIDTH:100
ユーザーの指定可能な環境変数についての詳細は、こちらを参照ください。
( バージョン 0.14.0
以降 ) training.yaml
が存在すれば、 training.yaml
の environment
( params
) の値が使用されます。
このオプションで training.yaml
の environment
に定義されている環境変数を上書きすることができます。
-v
, --volume
docker run コマンドの --volume
オプションに相当します。
--volume /path/source/on/host:/path/destination/on/container
の形式で、マウント元となるホスト側のパスとマウント先となるコンテナ側のパスを指定します。
複数指定することも可能です。
なお、 docker run コマンドの --read-only
オプションには対応しておりません。
--runtime
docker run コマンドの --runtime
オプションに相当します。
train-local
コマンドでは学習ジョブをコンテナとして実行します。
--runtime
オプションでは、そのコンテナを起動するランタイムを指定します。
例えば、コマンドを実行する環境に nvidia-docker2 がインストールされていることを前提に、 --runtime nvidia
と指定することで GPU を使用する学習を実行することが出来ます。
--v1
18.10
系のカスタムイメージを使用する際にはこのオプションを与える必要があります。
--config
設定ファイルを指定します。
デフォルトではカレントディレクトリに存在する training.yaml
を参照します。
-d
オプションはバージョン 1.1.0 以降からは--description
の省略形に変更されました
例
学習をローカル実行する
前提:オーガニゼーション 1234567890123
に “cats_dogs” という名前の学習ジョブ定義と、その学習ジョブ定義バージョン 1 が登録されているものとします。
コマンド:
$ abeja training train-local \
--organization_id 1234567890123 \
--name cats_dogs \
--version 1
出力:
[info] preparing ...
[info] start training job
{"log_id": "2e56cf01-8dee-444b-84f0-719bc5543c80", "log_level": "INFO", "timestamp": "2019-07-09T04:17:55.796421+00:00", "source": "model:run.download_training_source_code.80", "requester_id": "-", "message": "downloading training source code", "exc_info": null}
{"log_id": "7eefd9b3-56d9-4925-b5c2-aab77d77ff06", "log_level": "INFO", "timestamp": "2019-07-09T04:17:57.518125+00:00", "source": "model:run.download_training_source_code.89", "requester_id": "-", "message": "successfully downloaded training source code", "exc_info": null}
INFO: start installing packages from requirements.txt
INFO: requirements.txt not found, skipping
...
ハンドラーの環境変数
train-local
で実行したハンドラー関数で使用できる環境変数については トレイニングハンドラー関数 を参照ください。