ホームページ >バックエンド開発 >Python チュートリアル >Keras モデルがデータセットの一部でのみトレーニングされるのはなぜですか?

Keras モデルがデータセットの一部でのみトレーニングされるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 04:48:02607ブラウズ

 Why does my Keras model only train on a portion of my dataset?

Keras トレーニング データの不一致

公式 TensorFlow ガイドに従って Keras でニューラル ネットワークを構築しているときに、モデルが60,000 のエントリがあるにもかかわらず、トレーニング中に利用可能なデータセットの一部です。

バッチ サイズについて

モデルのフィッティング中に表示される数字 1875 は、トレーニング サンプルを示すものではなく、むしろバッチの数。 model.fit メソッドにはオプションの引数、batch_size があり、トレーニング中に同時に処理されるデータ ポイントの数を決定します。

batch_size を指定しない場合、デフォルト値は 32 です。この場合、合計 60,000 画像のデータセットの場合、バッチ数は次のようになります。

60000 / 32 = 1875

したがって、60,000 個のデータ ポイントがありますが、モデルは実際には 1875 バッチでトレーニングされ、各バッチには 32 データ ポイントが含まれます。これは、メモリ フットプリントを削減し、トレーニング速度を向上させるための一般的な方法です。

バッチ サイズの調整

バッチ処理を行わずにトレーニング中にデータセット全体を使用するには、 model.fitメソッドのbatch_sizeは60000です。ただし、これによりトレーニングが遅くなり、より多くのメモリが必要になる可能性があります。

あるいは、batch_size を調整して、トレーニング効率とメモリ使用率の間の妥協点を見つけることもできます。たとえば、1024 または 2048 に設定しても、パフォーマンスをあまり犠牲にすることなくバッチ数を大幅に減らすことができます。

以上がKeras モデルがデータセットの一部でのみトレーニングされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。