В чем разница между fit () и fit_generator () в Keras?

Ответы:

16

В keras fit()он очень похож на метод подбора sklearn, где вы передаете массив объектов в виде значений x и цели как значений y. Вы передаете весь свой набор данных сразу в подходящем методе. Кроме того, используйте его, если вы можете загрузить целые данные в вашу память (небольшой набор данных).

In fit_generator(), вы не передаете x и y напрямую, вместо этого они приходят от генератора . Как написано в документации keras , генератор используется, когда вы хотите избежать дублирования данных при использовании многопроцессорной обработки. Это для практических целей, когда у вас большой набор данных.

Вот ссылка, чтобы понять больше об этом

Что нужно знать о Keras, если вы планируете обучать модель глубокого обучения большому набору данных

Для справки вы можете проверить эту книгу - https://github.com/hktxt/bookshelf/blob/master/Computer%20Science/Deep%20Learning%20with%20Python%2C%20Fran%C3%A7ois%20Chollet.pdf

Анкит Сет
источник
Привет, Анкит, твоя ссылка deeplearningitalia.com/wp-content/uploads/2017/12/… не работает. У вас есть рабочая ссылка.
Тиду Мурти
@ChiduMurthy Спасибо за информацию. Я отредактировал ссылку.
Анкит Сет
Согласно документации, мы также можем передать генераторы в соответствии с методом. Так что я до сих пор не понимаю, зачем нам нужен отдельный метод fit_generator? tenorflow.org/api_docs/python/tf/keras/Model#fit
alyaxey
0

Существует больше различий между Керасом fitи fit.generatorчем кажется на первый взгляд. У меня был набор данных, который был отлично изучен при использовании модели fit.generator. Поскольку набор данных не был слишком большим, я решил fitвместо этого перейти на fit.generator. К моему удивлению, кривая обучения была повсюду. Пришлось начать настройку с нуля. Угадайте, каким образом обновляются градиенты в каждой функции, значительно отличается. Осторожно.

agcala
источник