BrainScript Train, Test, Eval
ここでは、主要な最上位レベルのコマンド train
とそれに test
/eval
対応するパラメーターについて説明します。 その他の最上位コマンドについては、 対応するページを参照してください。
Train コマンド
このコマンドは、モデルのトレーニングをCNTKに求めます。 コマンド セクションの train
例は、 構成ファイルの概要 ページにあります。 関連するパラメーターは次のとおりです。
reader
– 入力データの読み込み方法を決定するために使用されるリーダー構成ブロック。 詳細については、 閲覧者ブロックを参照してください。SGD
– SGD トレーニングのセットアップ。 詳細については、 SGD ブロックを参照してください。BrainScriptNetworkBuilder
– BrainScript 構成ブロック。 詳細については、 BrainScript ネットワーク ビルダーを参照してください。SimpleNetworkBuilder
– 単純なネットワーク ビルダー構成ブロック。 詳細については、「 Simple Network Builder」を参照してください。cvReader
– (省略可能) クロス検証データのリーダー構成ブロック。makeMode
– (既定値) にtrue
設定すると、中断されたエポックからトレーニングが続行されます。 トレーニングにfalse
設定すると、最初から再起動します。firstMBsToShowResult
– エポックの開始時に個々の中間結果を表示するミニバッチの数を示します。numMBsToShowResult
– 中間結果を表示する必要があるミニバッチの数を示します。
Test または Eval コマンド
これらのコマンドは、モデルの精度を評価/テストします。通常はテスト データセットを使用します。 関連するパラメーターは次のとおりです。
reader
– テスト データを読み取るリーダー構成ブロック。 詳細については、 閲覧者ブロックを参照してください。modelPath
– 評価するモデルへのパス。BrainScriptNetworkBuilder
– これが指定された場合、モデルは単に読み取modelPath
られただけでなく、この構成から構築されます。 これは、評価のためにその場でモデルを変更するために使用されます。minibatchSize
– データセットの読み取りと処理に使用するミニバッチ サイズ。epochSize
– データセットのサイズ。 既定値は0
です。 に設定0
されている場合、データセット全体が評価されます。numMBsToShowResult
– 中間結果を表示する必要があるミニバッチの数を示します。evalNodeNames
– 評価する 1 つ以上のノード名の配列。distributedMBReading
- ブール値を受け入れます: true または false。既定値は false です。 分散ミニバッチ読み取りをサポートするリーダーには true に設定する必要があります。 CNTKテキスト形式リーダー、イメージ リーダー、または複合データ リーダーを使用している場合は、distributedMBReading=true を設定する必要があります。
次の例は、 Simple2d の例です。 この例では、modelPath
最上位レベルで定義され、コマンドとtest
コマンドの両方によって自動的にtrain
取得されます。
Simple_Demo_Test = [
action = "test"
# Parameter values for the reader
reader = [
readerType = "CNTKTextFormatReader"
file = "$DataDir$/SimpleDataTest_cntk_text.txt"
randomize = false
input = [
features = [
dim = 2 # two-dimensional input data
format = "dense"
]
labels = [
dim = 2 # two-dimensional labels
format = "dense"
]
]
]
]