Was ist der Unterschied zwischen fit () und fit_generator () in Keras?

Antworten:

15

In Keras fit()ist es der Anpassungsmethode von sklearn sehr ähnlich, bei der Sie eine Reihe von Features als x-Werte und ein Ziel als y-Werte übergeben. Sie übergeben Ihren gesamten Datensatz auf einmal in der Fit-Methode. Verwenden Sie es auch, wenn Sie ganze Daten in Ihren Speicher laden können (kleiner Datensatz).

In übergeben fit_generator()Sie x und y nicht direkt, sondern kommen von einem Generator . Wie in der Keras-Dokumentation beschrieben , wird Generator verwendet, wenn Sie bei der Verwendung von Multiprocessing doppelte Daten vermeiden möchten. Dies ist praktisch, wenn Sie einen großen Datensatz haben.

Hier ist ein Link, um mehr darüber zu verstehen.

Eine Sache, die Sie über Keras wissen sollten, wenn Sie ein Deep-Learning-Modell für einen großen Datensatz trainieren möchten

Als Referenz können Sie dieses Buch unter https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf abrufen

Ankit Seth
quelle
Hallo Ankit, dein Link deeplearningitalia.com/wp-content/uploads/2017/12/… funktioniert nicht. Hast du einen funktionierenden Link?
Chidu Murthy
@ChiduMurthy Danke für die Info. Ich habe den Link bearbeitet.
Ankit Seth
Laut Dokumentation können wir auch Generatoren nach Passungsmethode übergeben. Ich verstehe also immer noch nicht, warum wir eine separate fit_generator-Methode benötigen? tensorflow.org/api_docs/python/tf/keras/Model#fit
alyaxey
0

Es gibt mehr zum Unterschied zwischen Keras fitund fit.generatorals das Auge sieht . Ich hatte einen Datensatz, der vom Modell mit perfekt gelernt wurde fit.generator. Da die Datenmenge nicht zu groß war habe ich beschlossen, zu ändern fitstatt fit.generator. Zu meiner Überraschung war die Lernkurve überall. Musste von vorne anfangen zu tunen. Die Art und Weise, wie die Verläufe in den einzelnen Funktionen aktualisiert werden, unterscheidet sich vermutlich erheblich. In acht nehmen.

Agcala
quelle