Maison >développement back-end >Tutoriel Python >Pourquoi mon modèle Keras n'utilise-t-il qu'une partie de mon ensemble de données pendant l'entraînement ?
Lors de la formation d'un modèle de réseau neuronal à l'aide de Keras, on découvre que le modèle n'utilise qu'un petit sous-ensemble de l'ensemble de données fourni pour la formation, au lieu de l'intégralité de l'ensemble de données. Plus précisément, le modèle n'utilise que 1 875 entrées pour la formation alors que l'ensemble de données complet comprend 60 000 entrées.
Le problème survient en raison d'une mauvaise compréhension du résultat lors de l'ajustement du modèle. Le nombre 1875 affiché lors de l'ajustement n'est pas le nombre d'échantillons d'apprentissage ; il représente le nombre de lots. Par défaut, Keras utilise une taille de lot de 32 pour la formation. Par conséquent, le nombre total de lots pour l'ensemble de données donné devient :
60000 / 32 = 1875
En conséquence, au lieu de s'entraîner sur l'ensemble de l'ensemble de données, le modèle divise les données en lots de taille 32 et parcourt ces lots. à chaque époque.
Pour utiliser l'intégralité de l'ensemble de données pendant la formation, il est nécessaire de spécifier une taille de lot qui accueille tous les échantillons de formation. Ceci peut être réalisé en définissant l'argument batch_size dans la fonction model.fit. Par exemple, pour utiliser l'intégralité de l'ensemble de données, on peut spécifier batch_size=60000 :
<code class="python">model.fit(train_images, train_labels, epochs=10, batch_size=60000)</code>
En utilisant cette taille de lot, le modèle traitera les 60 000 exemples de formation en un seul lot, utilisant efficacement l'intégralité de l'ensemble de données pour formation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!