Quelle est la différence entre fit()
et fit_generator()
à Keras?
Quand dois-je utiliser fit()
vs fit_generator()
?
la source
Quelle est la différence entre fit()
et fit_generator()
à Keras?
Quand dois-je utiliser fit()
vs fit_generator()
?
En keras, fit()
est très similaire à la méthode d'ajustement de sklearn, où vous passez un tableau d'entités en tant que valeurs x et ciblez en tant que valeurs y. Vous passez votre ensemble de données entier à la fois dans la méthode fit. Utilisez-le également si vous pouvez charger des données entières dans votre mémoire (petit ensemble de données).
Dans fit_generator()
, vous ne passez pas directement les x et y, ils proviennent plutôt d'un générateur . Comme il est écrit dans la documentation keras , générateur est utilisé lorsque vous voulez éviter les données en double lors de l' utilisation multitraitement. C'est à des fins pratiques, lorsque vous avez un grand ensemble de données.
Voici un lien pour en savoir plus à ce sujet-
Pour référence, vous pouvez consulter ce livre - https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf
Il y a plus que la différence entre Keras
fit
et ce qui paraîtfit.generator
à l'œil nu. J'avais un ensemble de données parfaitement appris par le modèle à l'aidefit.generator
. Comme l'ensemble de données n'a pas été trop grand , je décidé de changer defit
lieu defit.generator
. À ma grande surprise, la courbe d'apprentissage était partout. J'ai dû recommencer à zéro. Devinez la façon dont les dégradés sont mis à jour dans chaque fonction diffère de manière significative. Il faut se méfier.la source