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

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

Метод group_by_window класса Dataset группирует элементы датасета в окна (подмножества) по заданному ключу. Каждому элементу исходного датасета сопоставляется ключ с помощью функции key_func, после чего элементы с одинаковым ключом собираются в отдельные окна. Первым параметром передаётся функция вычисления ключа, вторым - функция построения окна, третьим - максимальный размер окна window_size. Метод часто используется для группировки последовательностей переменной длины, например при обработке текстов или временных рядов.

Синтаксис

Dataset.group_by_window(key_func, reduce_func, window_size)

Пример

Давайте создадим датасет из чисел и сгруппируем их по чётности. Функция key_func возвращает остаток от деления на 2, а reduce_func собирает элементы окна в один тензор:

<+python+> import tensorflow as tf ds = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6]) def key_func(x): return x % 2 def reduce_func(key, window): return window.batch(10) res = ds.group_by_window( key_func=key_func, reduce_func=reduce_func, window_size=10 ) for batch in res: print(batch) <-python+>

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

tf.Tensor([1 3 5], shape=(3,), dtype=int32) tf.Tensor([2 4 6], shape=(3,), dtype=int32)

Пример

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

<+python+> import tensorflow as tf ds = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6]) def key_func(x): return x % 2 def reduce_func(key, window): return window.batch(2) res = ds.group_by_window( key_func=key_func, reduce_func=reduce_func, window_size=3 ) for batch in res: print(batch) <-python+>

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

tf.Tensor([1 3], shape=(2,), dtype=int32) tf.Tensor([5], shape=(1,), dtype=int32) tf.Tensor([2 4], shape=(2,), dtype=int32) tf.Tensor([6], shape=(1,), dtype=int32)

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

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