Jaka jest różnica między fit () a fit_generator () w Keras?

Odpowiedzi:

16

W keras fit()jest bardzo podobny do metody dopasowania sklearn, w której przekazujesz tablicę funkcji jako wartości x, a cel jako wartości y. Cały zestaw danych przekazujesz jednocześnie metodą dopasowania. Użyj go również, jeśli możesz załadować całe dane do swojej pamięci (mały zestaw danych).

W fit_generator(), nie przekazujesz xiy bezpośrednio, zamiast tego pochodzą one z generatora . Jak napisano w dokumentacji keras , generator jest używany, gdy chcesz uniknąć powielania danych podczas korzystania z wielu procesów. Jest to praktyczne, gdy masz duży zestaw danych.

Oto link, aby dowiedzieć się więcej na ten temat-

Powinieneś wiedzieć o Keras, jeśli planujesz trenować model głębokiego uczenia się na dużym zestawie danych

W celach informacyjnych możesz sprawdzić tę książkę- https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf

Ankit Seth
źródło
Cześć Ankit, twój link deeplearningitalia.com/wp-content/uploads/2017/12/… nie działa. Czy masz działający link?
Chidu Murthy,
@ChiduMurthy Dzięki za informację. Zredagowałem link.
Ankit Seth,
Zgodnie z dokumentacją możemy również przekazać generatory pasujące do metody. Więc nadal nie rozumiem, dlaczego potrzebujemy osobnej metody fit_generator? tensorflow.org/api_docs/python/tf/keras/Model#fit
alyaxey
0

Różnica między Keras fiti na pierwszy rzut fit.generatoroka jest większa . Miałem zestaw danych, którego model doskonale się nauczył fit.generator. Ponieważ zestaw danych nie był zbyt duży, postanowiłem zmienić na fitzamiast fit.generator. Ku mojemu zaskoczeniu krzywa uczenia się była wszędzie. Musiałem zacząć strojenie od zera. Zgadnij, w jaki sposób gradienty są aktualizowane w każdej funkcji znacznie się różni. Strzec się.

agcala
źródło