インテル® DAAL 2018 デベロッパー・ガイド

訓練

アルゴリズムの入力

バッチ処理モードのニューラル・ネットワーク訓練アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

ニューラル・ネットワーク入力データを格納するサイズ n1 x n2 x ... x np のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。

groundTruth

入力データに関連付けられた結果を格納するサイズ n1 のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。

アルゴリズムのパラメーター

バッチ処理モードのニューラル・ネットワーク訓練アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

float

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

パフォーマンス指向の計算メソッド。

batchSize

1

訓練で同時に使用するサンプルの数。

入力データテンソルの最初の次元はデータサンプルを表すため、ライブラリーは n1batchSize の値で割ってバッチの数を計算します。

各バッチを処理した後、ライブラリーはモデルのパラメーターを更新します。n1batchSize の倍数でない場合、アルゴリズムはデータテンソルの最後のデータサンプルを無視します。

optimizationSolver

SharedPtr< optimization_solver::sgd::Batch<algorithmFPType,defaultDense> >

訓練段階で使用する最適化プロシージャー。

engine

SharePtr<engines::mt19937::Batch>()

計算でニューラル・ネットワークが使用するエンジンのポインター。ニューラル・ネットワークは、層のエンジンが設定されていない場合、モデルの初期化中にトポロジーの各層にこのエンジンを設定します。

アルゴリズムの出力

バッチ処理モードのニューラル・ネットワーク訓練アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

model

重みとバイアスの最適なセットで訓練されるモデル。結果は Model クラスのオブジェクトです。

サンプル

C++: neural_net_dense_batch.cpp

Java*: NeuralNetDenseBatch.java

Python*: neural_net_dense_batch.py

関連情報