Обновление к tenorflow 2.0: концепция эпохи в керасе - PullRequest
0 голосов
/ 24 октября 2019

Я ранее использовал Estimator API в тензорном потоке и использовал "max_steps", который был числом партий, замеченных во время обучения. Мой набор данных полностью синтетический и бесконечный, каждый раз на лету генерируется совершенно новая серия изображений. Новый Keras API использует концепцию «эпох», которая соответствует целому проходу через набор данных. Как мне установить "steps_per_epoch" и "initial_Epoch" и "epochs" в функции "подгонки" кераса, чтобы это имело смысл в моем случае?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Существует также параметр с таким точным именем, steps_per_epoch, в функции model.fit(), который позволяет вам определить количество шагов, которое вы хотите получить, равное эпохе. Допустим, вы хотите, чтобы steps_per_epoch=4 означало 4x8 = 32, когда размер партии равен 8. 32 означает, что теперь модель увидит 32 выборки из набора данных.

Существует также аргумент initial_epoch, который функционирует в точности так, как написано в названии.

epochs также существует в .fit() и будет принимать необходимое количество эпох. Итак, скажем, вы хотите тренироваться, если в течение 10 эпох, то для каждой эпохи модель будет видеть 32 образца изображения, а после 10 эпохи она будет 10x32= 320

Эти все функции определены здесь .

0 голосов
/ 24 октября 2019

Ниже приведены общие определения, которые необходимо знать и понимать, чтобы правильно использовать Keras:


  1. Образец: один элемент набора данных.
  2. Пакет: наборN образцов.
  3. эпох: число раз, когда все образцы были обучены.
  4. steps_per_epoch: шаги, равные разделенному номеру партии. Кроме того, стоит упомянуть, что размер партии! = Batches_number size размер партии представляет собой sample_number одного шага.

Ответьте на ваши дополнительные комментарии:


Модель kerasне заботится о длине образца. Например, модель может получить входной тензор аналогичной (None, w, h, c) формы. Ни одна из осей 0 - это вопрос # образцов, которые вас волнуют, но вам не нужно заботиться.

Таким образом, нет необходимости указывать размер выборки для входного тензора в кератах.

Кроме того, процесс сбора данных выборки может быть динамичным, но образцы, используемые для анализа, являютсявсегда исправленоВам нужно разделить набор разработки и набор тестов. Вновь собранные пробы должны быть добавлены в набор разработчика и набор тестов через определенный промежуток времени, например неделю или месяц, и должны обеспечить, чтобы собранные пробы соответствовали одному и тому же распределению.

Подробнее о def Ввод может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...