CNTKの BrainScript epochSize
Python ユーザーについては、 こちらを参照してください。
各エポック内の ラベル サンプル (動的軸に沿ったテンソル) の数。 epochSize
CNTK内は、特定の追加アクションが実行された後のラベル サンプルの数です。
- チェックポイント モデルの保存 (ここからトレーニングを再開できます)
- クロス検証
- 学習率の制御
- minibatch-scaling
ラベル サンプルの数の定義は 、minibatchSize (minibatch_size_in_samples) に使用されるサンプルの数に似ています。 の定義epochSize
は、入力サンプルではなくラベルサンプルであるというepochSize
意味で定義minitbatchSize
とは異なります。
したがって、重要なのは、シーケンシャル データの場合、サンプルはシーケンスの個々の項目です。
したがって、CNTKは多数のepochSize
シーケンスではなく、ミニバッチを構成するシーケンス ラベル全体のシーケンス項目を参照します。
同様に重要なのは、入力サンプルではなく ラベル サンプルであり、シーケンスあたりのラベルの数が必ずしも入力サンプルの数であるとは限りません。 たとえば、シーケンスごとに 1 つのラベルを持ち、シーケンスごとに多数のサンプルを持つことができます (その場合 epochSize
はシーケンス数のように機能します)、シーケンス内のサンプルごとに 1 つのラベルを持つことができます。その場合 epochSize
は、すべてのサンプル (シーケンスではなく) がカウントされるのとまったく同じように minibatchSize
機能します。
データセット サイズが小さい場合、多くの場合、 epochSize
データセット サイズと同じ値が設定されます。 BrainScript では、これを示す 0 を指定できます。 Python では、これを指定 cntk.io.INFINITELY_REPEAT
できます。 Python でのみ、データ サイズ全体を cntk.io.FULL_DATA_SWEEP
1 回渡した後に処理が停止する場所に設定することもできます。
大規模なデータセットの場合は、チェックポイント処理によって epochSize の選択をガイドすることができます。 たとえば、停電やネットワーク障害が発生した場合に最大 30 分の計算を失う場合は、約 30 分ごとにチェックポイントを作成する必要があります (そこからトレーニングを再開できます)。 計算に約 30 分かかるサンプルの数を選択 epochSize
します。