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

Метод apply класса Dataset

Метод apply класса Dataset применяет переданную функцию преобразования к текущему датасету и возвращает новый объект Dataset. Первым параметром метод принимает функцию, которая получает на вход исходный датасет и возвращает преобразованный датасет. Такой подход позволяет строить собственные переиспользуемые преобразования поверх стандартных методов.

Синтаксис

dataset.apply(transform_func)

Пример

Давайте создадим датасет из тензора и применим к нему преобразование, которое увеличивает каждый элемент на единицу:

import tensorflow as tf def add_one(dataset): return dataset.map(lambda x: x + 1) ds = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5]) res = ds.apply(add_one) for item in res: print(item.numpy())

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

2 3 4 5 6

Пример

Давайте применим преобразование, которое объединяет батчирование и перемешивание данных:

import tensorflow as tf tf.random.set_seed(0) def prepare(dataset): dataset = dataset.shuffle(buffer_size=5) dataset = dataset.batch(2) return dataset ds = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5]) res = ds.apply(prepare) for item in res: print(item.numpy())

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

[4 5] [1 3] [2]

Пример

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

import tensorflow as tf def upper_case(dataset): return dataset.map(lambda x: tf.strings.upper(x)) ds = tf.data.Dataset.from_tensor_slices(['abcde', 'model.keras']) res = ds.apply(upper_case) for item in res: print(item.numpy().decode())

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

"ABCDE" "MODEL.KERAS"

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

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