設定の必要性は何ですかsteps_per_Epoch
理想的にはnumber of total samples/ batch size
?
Kerasのジェネレーターは無限です。
このため、Kerasは1つのエポックを完了するためにジェネレーターがいくつのバッチを生成する必要があるかをそれ自体で知ることはできません。
静的な数のサンプルがある場合、1つのエポックに対してsamples//batch_size
を使用することは完全に理にかなっています。しかし、たとえばランダムなデータ拡張を実行するジェネレータを使用したい場合があります。また、ランダムなプロセスのため、2つの同一のトレーニングエポックはありません。明確な制限はありません。
したがって、fit_generator
のこれらのパラメーターを使用すると、エポックごとの利回りを希望どおりに制御できますが、標準的なケースでは、最も明白なオプションであるsamples//batch_size
を維持します。
ダニエルが述べたように、データ拡張がない場合、サンプル数は静的です。次に、トレーニングのサンプル数は、steps_per_Epoch *バッチサイズです。
KerasでImageDataGeneratorを使用して、データ拡張のための追加のトレーニングデータを作成します。そのため、トレーニングのサンプル数を自分で設定できます。 2回のトレーニングデータが必要な場合は、steps_per_Epochを(元のサンプルサイズ* 2)/ batch_sizeとして設定します。