РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
483 of 824 menu

Метод prefetch

Метод prefetch класса Dataset позволяет подготавливать следующие элементы датасета в фоновом режиме, пока текущие элементы обрабатываются моделью. Это помогает устранить узкое место ввода-вывода и существенно ускорить обучение. Метод применяется к объекту датасета и первым параметром принимает размер буфера предзагрузки (количество элементов, которые будут подготовлены заранее). Вторым параметром можно передать объект tf.data.experimental.AUTOTUNE, чтобы TensorFlow сам подобрал оптимальный размер буфера во время выполнения.

Синтаксис

dataset.prefetch(buffer_size)

Пример

Давайте создадим простой датасет из тензора, применим к нему метод prefetch с буфером размером 2 и выведем его элементы:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5]) dataset = tf.data.Dataset.from_tensor_slices(t) dataset = dataset.prefetch(2) for element in dataset: print(element.numpy())

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте используем константу tf.data.AUTOTUNE, чтобы TensorFlow автоматически подобрал размер буфера предзагрузки:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5]) dataset = tf.data.Dataset.from_tensor_slices(t) dataset = dataset.prefetch(tf.data.AUTOTUNE) for element in dataset: print(element.numpy())

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте применим prefetch в цепочке с методами batch и map, чтобы ускорить подготовку данных:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5]) dataset = tf.data.Dataset.from_tensor_slices(t) dataset = dataset.map(lambda x: x * 2) dataset = dataset.batch(2) dataset = dataset.prefetch(tf.data.AUTOTUNE) for element in dataset: print(element.numpy())

Результат выполнения кода:

[2 4] [6 8] [10]

Смотрите также

  • класс Dataset,
    который представляет собой набор данных
  • метод batch,
    который объединяет элементы в пакеты
  • метод map,
    который применяет функцию к каждому элементу
  • метод cache,
    который кэширует элементы датасета
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить