Qual è la differenza tra fit () e fit_generator () in Keras?


Risposte:


16

In keras, fit()è molto simile al metodo di adattamento di sklearn, in cui si passa array di funzioni come valori x e si target come valori y. Passa l'intero set di dati contemporaneamente nel metodo di adattamento. Inoltre, usalo se puoi caricare interi dati nella tua memoria (piccolo set di dati).

In fit_generator(), non passi direttamente xey, invece provengono da un generatore . Come è scritto nella documentazione di Keras , il generatore viene utilizzato quando si desidera evitare dati duplicati quando si utilizza il multiprocessing. Questo è a scopo pratico, quando si dispone di un set di dati di grandi dimensioni.

Ecco un link per capire di più su questo-

Una cosa che dovresti sapere su Keras se prevedi di formare un modello di apprendimento profondo su un set di dati di grandi dimensioni

Per riferimento è possibile controllare questo libro- https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf


Ciao Ankit, il tuo link deeplearningitalia.com/wp-content/uploads/2017/12/… non funziona. Hai un link funzionante.
Chidu Murthy,

@ChiduMurthy Grazie per le informazioni. Ho modificato il link.
Ankit Seth,

Secondo la documentazione, possiamo anche passare i generatori per adattarli al metodo. Quindi ancora non capisco perché abbiamo bisogno di un metodo fit_generator separato? tensorflow.org/api_docs/python/tf/keras/Model#fit
alyaxey

0

C'è di più nella differenza tra Keras fite fit.generatordi quello che sembra. Ho avuto un set di dati che è stato perfettamente appreso dal modello usando fit.generator. Dato che il set di dati non era troppo grande, ho deciso di cambiare fitinvece di fit.generator. Con mia sorpresa, la curva di apprendimento era dappertutto. Ho dovuto iniziare a sintonizzare da zero. Indovina il modo in cui i gradienti vengono aggiornati in ciascuna funzione differisce in modo abbastanza significativo. Attenzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.