訓練コンストラクト

訓練コンストラクトは、モデルのコンパイル方法、モデルのトレーニング時間を定義し、ダッシュボードを初期化してトレーニング中のモデルのパフォーマンスを視覚化します。次の例に示すように、3 つのブロックが含まれています。

train:
    compile:
        optimizer = SGD: [lr = 0.001],
        loss = 'binary_crossentropy',
        metrics = ['accuracy'] ;
    run:
        epochs = 8 ;

    dashboard: ;
  • compile このコンポーネントは、モデルのビルド方法をコンパイラに指示します。このコンポーネントには、2 つの引数のコンマ区切りのリストが必要で、セミコロンで終わるオプションの 3 番目の引数を受け取ります。

必須の引数は次のとおりです。

  • optimizer - 使用する最適化アルゴリズム。NeoPulse® AI Studio は、すべてのKeras ライブラリのオプティマイザ へのアクセスを提供します。オプティマイザは、次の 2 つの方法で設定できます。

    • optimizer = 'optimizer' - オプティマイザをデフォルトパラメータで設定します。

    • optimizer = optimizer: [param1=value, ...] - オプティマイザを設定し、ユーザーがデフォルトパラメータを変更できるようにします。

      注: auto キーワードを使用して、オラクルがオプティマイザを選択できるようにすることができます。

    • loss - 使用する損失関数。NeoPulse® AI Studio は、Keras library.のすべての損失機能へのアクセスを提供します。また、NeoPulseの損失の一部は®ケラスを超えてサポートしているこちらです。損失関数は、次のように設定できます。

      • loss = 'function_name'

      注:  auto キーワードを使用して、oracle が損失関数を選択できるようにすることができます。

  • metrics オプションNeoPulse® AIスタジオのデフォルトのメトリックは、トレーニング損失だけです。コンパイル コンポーネントで metrics = ['accuracy']を設定して、モデルの精度をトラッキングすることもできます。

注:オプティマイザと損失関数を指定するか、オラクルに auto キーワードを使用してオプティマイザを選択するように依頼する必要があります。

  • run このコンポーネントには 2 つの引数があります (既定値が表示されます)。

    • epochs = 1 データをトレーニングする回数。
    • initial_epoch = 0 トレーニングを開始するエポック(すでにトレーニング済みのモデルを再トレーニングまたは微調整する場合に便利です。)
  • dashboard このコンポーネントにより、NeoPulse® AI Studio はテンソルボードを使用してモデルトレーニングの視覚化を提供できます。現時点では引数をありません。

例:

train:
    compile:
        optimizer = SGD: [lr = 0.001],
        loss = auto,
        metrics = ['accuracy'] ;
    run:
        epochs = 8 ;

    dashboard: ;

この例では、モデルのbinary_crossentropyを最小限に抑え、モデルの精度と損失を追跡し、データセットを 8 回トレーニングするオプティマイザをオラクルに要求します。

注: バージョン 2.0 以降では、複数の GPU を使用したトレーニングがサポートされるようになりました。複数の GPU を使用してトレーニングを行うには、次に示すように、キー Ngpu を追加し、訓練コンストラクトに GPU の数を指定します

train Ngpu 2:

制限事項

現時点では、NML はユーザー定義メトリックはサポートしていません。