web-dev-qa-db-ja.com

ケラスフィットジェネレーター関数に渡されるエポックあたりのステップの値

設定の必要性は何ですかsteps_per_Epoch理想的にはnumber of total samples/ batch size

11

Kerasのジェネレーターは無限です。

このため、Kerasは1つのエポックを完了するためにジェネレーターがいくつのバッチを生成する必要があるかをそれ自体で知ることはできません。

静的な数のサンプルがある場合、1つのエポックに対してsamples//batch_sizeを使用することは完全に理にかなっています。しかし、たとえばランダムなデータ拡張を実行するジェネレータを使用したい場合があります。また、ランダムなプロセスのため、2つの同一のトレーニングエポックはありません。明確な制限はありません。

したがって、fit_generatorのこれらのパラメーターを使用すると、エポックごとの利回りを希望どおりに制御できますが、標準的なケースでは、最も明白なオプションであるsamples//batch_sizeを維持します。

16
Daniel Möller

ダニエルが述べたように、データ拡張がない場合、サンプル数は静的です。次に、トレーニングのサンプル数は、steps_per_Epoch *バッチサイズです。

KerasでImageDataGeneratorを使用して、データ拡張のための追加のトレーニングデータを作成します。そのため、トレーニングのサンプル数を自分で設定できます。 2回のトレーニングデータが必要な場合は、steps_per_Epochを(元のサンプルサイズ* 2)/ batch_sizeとして設定します。

0
hoesang choi