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

Keras モデルがトレーニング中にデータセットの一部のみを使用するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 21:03:021099ブラウズ

Why is my Keras model only using a portion of my dataset during training?

トレーニング中にデータセットの一部のみを使用する Keras モデル

問題の説明

Keras を使用してニューラル ネットワーク モデルをトレーニングすると、次のことが判明します。モデルは、データセット全体ではなく、提供されたデータセットの小さなサブセットのみをトレーニングに使用します。具体的には、完全なデータセットが 60,000 のエントリで構成されているのに対し、モデルはトレーニングに 1,875 のエントリのみを使用しています。

問題の分析

この問題は、モデルのフィッティング中の出力の誤解により発生します。フィッティング中に表示される 1875 という数字はトレーニング サンプルの数ではありません。バッチの数を表します。デフォルトでは、Keras はトレーニングにバッチ サイズ 32 を使用します。したがって、指定されたデータセットのバッチの合計数は次のようになります。

60000 / 32 = 1875

その結果、モデルはデータセット全体でトレーニングするのではなく、データをサイズ 32 のバッチに分割し、これらのバッチを反復処理します。

問題の解決

トレーニング中にデータセット全体を使用するには、すべてのトレーニング サンプルを収容できるバッチ サイズを指定する必要があります。これは、model.fit 関数で batch_size 引数を設定することで実現できます。たとえば、データセット全体を使用するには、batch_size=60000:

<code class="python">model.fit(train_images, train_labels, epochs=10, batch_size=60000)</code>

を指​​定できます。このバッチ サイズを使用すると、モデルは 60,000 のトレーニング サンプルすべてを 1 つのバッチで処理し、データセット全体を効果的に利用します。トレーニング。

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

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