что на самом деле происходит в одиночной эпохе вперед или назад или в обоих? - PullRequest
0 голосов
/ 07 марта 2020

Например,

У меня 1000 строк и 10 столбцов,

размер пакета равен 25,

шагов за эпоху = 1000/25 ==> 40

epoch = 10

Epoch 1: | ---------------------- | 40 итераций #, поэтому в этом только 40 примеров распространяется правильно? или неправильно? Итак, 10 * 40 = 400, поэтому 400 значений распространяются только?

Ответы [ 2 ]

0 голосов
/ 07 марта 2020

При размере партии 25 и шагах за эпоху = 40 вы получите go до 1000 образцов. Это работает так. Для КАЖДОГО шага предоставляется 25 образцов. Итак, после 40 шагов вы прошли 25 х 40 образцов. Если вы бежите в течение 10 эпох, общее количество обработанных обучающих образцов будет 10 X 1000 = 10 000. Я не пробовал, но я думаю, что если вы установите число шагов в эпоху, скажем, 50, то будет запущено 25 × 50 образцов. Я получаю это из документации Keras из model.fit.

steps_per_epoch: целое число или нет. Общее количество шагов (партий образцов) до объявления одной эпохи законченной и начала следующей эпохи. При обучении с использованием входных тензоров, таких как тензоры данных TensorFlow, значение по умолчанию None равно числу выборок в вашем наборе данных, деленному на размер пакета, или 1, если это невозможно определить.

Так что я считаю, это приводит к определению эпохи как завершенной, когда выборки из x шагов batch_size за эпоху завершены. Генератор просто будет продолжать работать, так как требуется больше партий.

0 голосов
/ 07 марта 2020

25 steps_per_epoch означает, что в течение вашей эпохи необходимо выполнить 25 итераций.

Одна итерация подразумевает как прямой, так и обратный проход.

Если у вас 1000 элементов, batch_size 10, у вас есть 100 steps_per_epoch (1000/10), то есть 100 итераций.

Это означает, что после каждой партии из 10 элементов выполняется прямой и обратный проход.

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