#tensorflow #tensorflow-datasets
#tensorflow #tensorflow-наборы данных
Вопрос:
Я нашел кучу вопросов о перетасовке набора данных, но ни один из них не подразумевает, почему просто перетасовки имен файлов недостаточно. Ниже приведен код для загрузки набора данных для задачи сегментации изображения:
train_files = tf.data.Dataset.list_files(self.training_path)
train_files = train_files.shuffle(buffer_size=15000)
train_dataset = train_files.map(self.parse_image)
# -- Train Dataset --#
dataset['train'] = dataset['train'].map(self.load_image_train, num_parallel_calls=2)
#dataset['train'] = dataset['train'].shuffle(buffer_size=15000)
dataset['train'] = dataset['train'].batch(self.batch_size)
dataset['train'] = dataset['train'].prefetch(buffer_size=1) # will prefetch 1 batch
Вопрос в том, что dataset['train'] = dataset['train'].shuffle(buffer_size=15000)
необходимо для перетасовки данных, потому что я уже перетасовал имена файлов?
Комментарии:
1. Нет, в этом нет необходимости.
2. Я думаю, что это другое. Таким образом, данные просто перетасовываются в начале и только один раз, и сеть будет получать один и тот же набор данных в каждую эпоху. При перетасовке загруженной даты происходит перетасовка в начале каждой эпохи, поэтому в каждой эпохе разные шаблоны. я прав?