Как данные из tf.data генерируются и передаются в модель - PullRequest
0 голосов
/ 19 февраля 2020

В книге Hands-On ML с Scikit-Learn, Tensorflow и Keras автор объясняет, как использовать API данных для эффективного управления, преобразования и передачи данных в модель, он пишет следующую функцию:

def csv_reader(filepaths, batch_size=32):
    dataset = tf.data.Dataset.list_files(filepaths)
    dataset = dataset.interleave(lambda filepath:
    tf.data.TextLineDataset(filepath).skip(1), cycle_length=5)
    dataset = dataset.shuffle(10000).repeat(1)
    return dataset.batch(batch_size).prefetch(1)

Тогда: train_set = csv_reader_dataset(train_filepaths)

и: model.fit(train_set, epochs=10)

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

1 Ответ

0 голосов
/ 19 февраля 2020

A tf.data.Dataset - это образец того, как получить ваши данные. Чтобы использовать набор данных для чтения данных, вы создаете итератор для набора данных. Один и тот же набор данных можно использовать для создания нескольких итераторов, каждый из которых будет выполнять итерацию по всему набору данных. Таким образом, Keras просто нужен один набор данных, а затем он может использовать набор данных для многократного повторения ваших данных.

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