Qu'est-ce qu'un lot dans TensorFlow?
La documentation d'introduction, qui, j'en suis à la lecture (Table des matières ici) introduit le terme ici sans avoir défini.
[1] https://www.tensorflow.org/get_started/
[2] https://www.tensorflow.org/tutorials/mnist/tf/
source d'informationauteur Jeffrey Benjamin Brown
Vous devez vous connecter pour publier un commentaire.
Disons que vous voulez faire du chiffre reconnaissance(MNIST) et que vous avez défini votre architecture du réseau(CNNs). Maintenant, vous pouvez nourrir les images de l'entraînement de données un par un pour le réseau, obtenir la prédiction (également appelé inférence), calcul de la perte, de calcul de gradient , et ensuite mettre à jour les paramètres (poids et biais) et de procéder à l'image suivante ... Cela s'appelle d'apprentissage en ligne.
Mais, vous voulez de la formation pour être plus rapide, les dégradés pour être moins bruyant, et aussi de profiter de la puissance des Gpu qui sont efficaces à faire des opérations de matrice (nD-tableaux pour être précis). Donc, ce que vous faire est de se nourrir dans dire à 100 images à la fois (le choix de cette taille est à vous (hyper-paramètre) et dépend de votre problème de trop). Par exemple, jetez un oeil à l'image ci-dessous, (Auteur: Martin Gorner)
Ici, puisque vous êtes l'allaitement de 100 images(
28x28
) à une heure (au lieu de 1 comme dans la formation en ligne), le la taille du lot est de 100. Souvent, cela s'appelle mini-taille de lot ou tout simplementmini-batch
.Aussi l'image ci-dessous: (Auteur: Martin Gorner)
Maintenant, la multiplication de matrice sera tout juste parfaitement bien et vous permettra également de profiter de la très optimisé les opérations de matrice, et donc d'atteindre plus rapidement formation temps.
Si vous observez l'image ci-dessus, il n'a pas beaucoup d'importance si vous donnez 100 ou 256 ou 2048 ou 10000 (la taille des lots) des images en tant qu'il s'inscrit dans la mémoire de votre processeur graphique (GPU) de matériel. Vous aurez simplement à obtenir que beaucoup de prédictions.
Mais, gardez à l'esprit que cette la taille des lots influe sur le temps de formation, le message d'erreur que vous atteindre, le gradient de quarts de travail, etc., Il n'y a pas de règle générale pour laquelle la taille des lots fonctionne le mieux. Juste essayer un peu de tailles et de choisir celle qui fonctionne le mieux pour vous. Mais essayez de ne pas utiliser de grandes tailles de lot, puisqu'il sera overfit les données. Les gens utilisent couramment des mini-lots de
32, 64, 128, 256, 512, 1024, 2048
.Bonus: Pour obtenir une bonne compréhension de la façon dont fou, vous pouvez aller avec ce lot de taille, merci de donner à ce livre une lecture: bizarre astuce pour la parallélisation de CNNs