Использование tf.data.Dataset в керасе - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть модель, написанная в Керасе. Поскольку я имею дело с большими файлами, я использую API tf.data.Dataset для загрузки данных и подачи в функцию подбора Keras. Прежде чем вызвать model.fit (), я повторно инициализирую набор данных с помощью it = ds.make_initializable_iterator (), а затем передаю тензоры X и y, полученные из функции it.get_next (), в model.fit (). Проблема в том, что когда model.fit () достигает конца набора данных, он не продолжает обучение, иными словами, я могу тренироваться только для ОДНОЙ эпохи, независимо от того, что я передаю в качестве переменной "эпох" для подгонки функция. Как я могу сказать Keras повторно инициализировать итератор, когда он достигнет конца набора данных?

1 Ответ

1 голос
/ 18 апреля 2020

Используйте функцию dataset.repeat(n_epochs), чтобы повторить ваш набор данных для числа эпох.

Аргумент epochs в функции model.fit определяет, сколько раз выполнить итерацию по набору данных. Однако если вы не повторите набор данных, у вас закончатся образцы после первой эпохи. Вы можете использовать dataset.repeat(n_epochs), чтобы повторить для n_epochs, или вы можете использовать dataset.repeat(), чтобы повторять бесконечно.

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