¿Cuál es la diferencia entre fit()
y fit_generator()
en Keras?
¿Cuándo debo usar fit()
vs fit_generator()
?
fuente
¿Cuál es la diferencia entre fit()
y fit_generator()
en Keras?
¿Cuándo debo usar fit()
vs fit_generator()
?
En keras, fit()
es muy similar al método de ajuste de sklearn, donde pasa una matriz de características como valores x y objetivo como valores y. Pasa todo su conjunto de datos a la vez en el método de ajuste Además, úselo si puede cargar datos completos en su memoria (pequeño conjunto de datos).
En fit_generator()
, no pasa las x e y directamente, sino que provienen de un generador . Como está escrito en la documentación de Keras , el generador se utiliza cuando desea evitar datos duplicados cuando se utiliza el multiprocesamiento. Esto es para fines prácticos, cuando tiene un gran conjunto de datos.
Aquí hay un enlace para entender más sobre esto.
Como referencia, puede consultar este libro: https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf
Hay más en la diferencia entre Keras
fit
y lofit.generator
que parece. Tenía un conjunto de datos que el modelo había aprendido perfectamentefit.generator
. Como el conjunto de datos no era demasiado grande, decidí cambiar a enfit
lugar defit.generator
. Para mi sorpresa, la curva de aprendizaje estaba por todas partes. Tuve que empezar a afinar desde cero. Adivina la forma en que se actualizan los gradientes en cada función difiere bastante significativamente. Tener cuidado.fuente