Maison >développement back-end >Tutoriel Python >Pourquoi Keras s'entraîne-t-il uniquement sur une partie de mon ensemble de données, même si je dispose de 60 000 échantillons ?
Formation Keras avec un ensemble de données limité
En essayant de former un réseau neuronal avec Keras, vous avez remarqué qu'il n'utilise qu'une partie des ressources disponibles ensemble de données, malgré l’accès à 60 000 échantillons. Pendant que vous suiviez le guide officiel TensorFlow, le processus de formation présente un écart. Cet article vise à expliquer pourquoi Keras se comporte de cette manière et à fournir une solution.
La raison derrière l'utilisation partielle de l'ensemble de données
Le nombre « 1875 » rencontré lors de l'ajustement du modèle ne ne représente pas le nombre d’échantillons d’apprentissage ; il indique plutôt le nombre de lots. Par défaut, Keras utilise une taille de lot de 32 lors de la formation. Pour un ensemble de données de 60 000 échantillons, cela équivaut à :
60,000 / 32 = 1875
Par conséquent, Keras divise votre ensemble de données en 1 875 lots, chacun contenant 32 échantillons. En conséquence, chaque époque parcourt ces 1 875 lots au lieu de l'ensemble de données dans son intégralité.
Solution
Pour utiliser l'ensemble de données dans son intégralité, vous pouvez définir explicitement la taille du lot sur le nombre total d'échantillons :
<code class="python">model.fit(train_images, train_labels, epochs=10, batch_size=60000)</code>
Ce faisant, Keras entraînera le modèle sur l'intégralité de votre ensemble de données, ce qui peut entraîner une amélioration des performances.
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!