Кэшировать набор данных до dataset.repeat() dataset.batch() и dataset.prefetch() или после?
Я строю конвейер данных с использованием Dataset API для обучения на нескольких графических процессорах. Набор данных состоит из большого количества изображений в формате png с несколькими метками. Кешировать ли я перед сборкой или перед / после повторения, предварительной выборки? Цель состоит в том, чтобы минимизировать ввод-вывод и использование памяти при максимизации скорости тренировки.
def input_fn():
...
dataset = dataset.repeat(num_epochs)
dataset = dataset.batch(batch_size = batch_size)
dataset = dataset.cache()
dataset = dataset.prefetch(buffer_size=None)
return dataset