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 サイトの他の関連記事を参照してください。