学習設定ファイル

本頁では、 TRAINING COMMANDinit で作成される設定ファイルである training.yaml について説明します。

フォーマット

training.yaml は YAML 形式で記述します。

 設定項目

training.yaml は以下の項目を持ちます。

項目 概要
name 学習ジョブ定義名
handler 呼び出す関数のパスを指定
image モデルを学習させる image を指定
params ユーザーパラメータ。フォーマットは key:value
datasets モデルを学習するために使用するデータセット。フォーマットは key:value
ignores create-version 実行時にアップロードから除外するディレクトリ/ファイルを指定

name

学習ジョブ定義名です。 本項目は必須項目です。

handler

学習を開始するために ABEJA Platform が呼び出す関数のパスを指定します。

train:handler とした場合には、 train.py 内に定義されている handler 関数を呼び出します。 src.train:handler とした場合には、 src ディレクトリ下の train.py 内に定義されている handler 関数を呼び出します。

本項目は必須項目です。

image

モデルの学習を行う環境のイメージを指定します。 以下から用途に沿ったものを指定してください。

本項目は必須項目です。

params

学習実行時にプログラムへ渡したいパラメータを key:value の形式で指定します。 複数指定する場合は、

params:
  key1: value1
  key2: value2

のように、1行に1項目ずつ指定してください。 指定したパラメータは学習実行環境にて環境変数として渡されるので、学習プログラム側で読み込むことが可能です。

本項目はオプション項目です。

datasets

モデルを学習するために使用するデータセットを指定します。 key:value 形式の key には学習プログラム側で使用する別名を、 value にはデータセットIDを指定します。 複数指定する場合は、

params:
  alias1: 1111111111111
  alias2: 1111111111112

のように、1行に1項目ずつ指定してください。 指定したデータセットは学習実行時に context パラメータとして渡され、取り出すことが可能です。

def handler(context):
    dataset_aliases = context.datasets
    dataset_id = dataset_aliases['alias1']

本項目はオプション項目です。指定を省略した場合は、 context.datasets は 空の dict になります。

ignores

create-version 実行時にアップロードから除外するディレクトリ/ファイルを指定します。 サブディレクトリ配下のディレクトリ/ファイルを指定する場合は、カレントディレクトリからの相対パスで指定します。 複数指定する場合は、

ignores:
  - tests
  - data/ignore_one

のように、1行に1項目ずつリスト指定してください。

本項目はオプション項目です。指定を省略した場合は、 .git ディレクトリのみを除外します。

name: training-config-sample
handler: train:handler
image: abeja-inc/all-gpu:18.10
params:
  ENV_VAL1: value1
  ENV_VAL2: value2
datasets:
  alias1: 1234567890123
  alias2: 1234567890234
ignores:
  - .gitignore
  - tests
  - README.md