2017-06-16 20 views

答えて

2

すべての必要な面でデータとラベルを準備し、単にmodel.fit(x、y)を使用するよりも、これらを配列xとyに割り当てることができます。

の前処理および/または補強が必要な場合は、のトレーニング中に、Kerasが提供するジェネレータを活用するよりも、

ランダム変換(訓練するデータがほとんどない場合は非常に便利です)、パッドシーケンス、テキストをトークン化してKerasが自動的にフォルダからデータを読み込み、適切なクラスを割り当てるようにすることができます(flow_from_directory)さらにはるかに。

画像前処理のための例や定型的なコードについてはこちらをご覧ください:https://keras.io/preprocessing/image/テキストの前処理のための

かここに: https://keras.io/preprocessing/text/

あなただけのデータをロードするのでfit_generatorはまた、あなたがより多くのメモリ効率的な方法で訓練するのに役立ちます必要に応じて。ジェネレータ関数は、オンデマンドでバッチ処理でモデルバッチにデータを渡します(別名「配信」)。

2

これは、オンザフライ拡大に役立ちます。これは、前回のポスターで説明したものです。しかし、これは必ずしもジェネレータに限定されているわけではありません。なぜなら、あるエポックに適合し、データを補強して再びフィットすることができるからです。

フィットでは機能しないのは、エポックごとにあまりにも多くのデータを使用しています。つまり、1 TBのデータセットと8 GBのRAMしか持たない場合は、ジェネレータを使用してオンザフライでデータをロードし、メモリ内に2つのバッチを保持することができます。これは巨大なデータセットへのスケーリングに大いに役立ちます。

関連する問題