web-dev-qa-db-fra.com

valeur des pas par époque passée à la fonction de générateur d'ajustement keras

Quelle est la nécessité de définir la valeur steps_per_Epoch lors de l’appel de la fonction fit_generator () alors qu’elle devrait idéalement être number of total samples/ batch size

6

Les générateurs de Keras sont infinis. 

De ce fait, Keras ne peut pas savoir par lui-même combien de lots les générateurs doivent céder pour terminer une époque. 

Lorsque vous avez un nombre d'échantillons statique, il est parfaitement logique d'utiliser samples//batch_size pour une époque. Mais vous voudrez peut-être utiliser un générateur qui effectue une augmentation aléatoire des données, par exemple. Et en raison du processus aléatoire, vous ne pourrez jamais avoir deux périodes d’entraînement identiques. Il n'y a pas alors de limite claire.

Ainsi, ces paramètres dans fit_generator vous permettent de contrôler les rendements par époque à votre guise, bien que dans les cas standard, vous gardiez probablement l'option la plus évidente: samples//batch_size.

11
Daniel Möller

Sans augmentation de données, le nombre d'échantillons est statique, comme l'a mentionné Daniel . Ensuite, le nombre d'échantillons pour la formation correspond à la taille du lot steps_per_Epoch *.

En utilisant ImageDataGenerator dans Keras, nous créons des données d’entraînement supplémentaires pour l’augmentation des données. Par conséquent, vous pouvez définir vous-même le nombre d'échantillons à utiliser pour la formation .. Si vous voulez deux fois plus de données d'apprentissage, définissez simplement steps_per_Epoch sur (taille de l'échantillon d'origine * 2)/batch_size.

0
hoesang choi