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

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

Метод window применяется к датасету и разбивает его элементы на вложенные датасеты-окна фиксированного размера. Первым параметром передается размер окна size, вторым - шаг сдвига окна shift, третьим - параметр stride, задающий шаг между элементами внутри окна, четвертым - drop_remainder, определяющий, отбрасывать ли неполное последнее окно. Метод возвращает новый датасет, элементами которого являются вложенные датасеты.

Синтаксис

Dataset.window(size, shift=None, stride=1, drop_remainder=False)

Пример

Давайте создадим датасет из чисел и разобьем его на окна размером 3:

import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6, 7, 8, 9]) windowed = dataset.window(size=3) for window in windowed: print(list(window.as_numpy_iterator()))

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

[1, 2, 3] [4, 5, 6] [7, 8, 9]

Пример

Давайте зададим шаг сдвига окна 2, чтобы окна перекрывались:

import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6, 7, 8, 9]) windowed = dataset.window(size=3, shift=2) for window in windowed: print(list(window.as_numpy_iterator()))

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

[1, 2, 3] [3, 4, 5] [5, 6, 7] [7, 8, 9] [9]

Пример

Давайте отбросим неполное последнее окно с помощью параметра drop_remainder:

import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6, 7, 8, 9]) windowed = dataset.window(size=3, shift=2, drop_remainder=True) for window in windowed: print(list(window.as_numpy_iterator()))

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

[1, 2, 3] [3, 4, 5] [5, 6, 7] [7, 8, 9]

Пример

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

import tensorflow as tf dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3, 4, 5, 6, 7, 8, 9]) windowed = dataset.window(size=3, shift=1, stride=2, drop_remainder=True) for window in windowed: print(list(window.as_numpy_iterator()))

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

[1, 3, 5] [2, 4, 6] [3, 5, 7] [4, 6, 8] [5, 7, 9]

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

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