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

Функция timeseries_dataset_from_array

Функция timeseries_dataset_from_array создает датасет временных рядов из переданного массива данных. Первым параметром функция принимает массив данных, вторым - массив целей, третьим - длину последовательности sequence_length. Дополнительными параметрами можно задать размер батча batch_size, сдвиг между окнами sequence_stride, шаг выборки sampling_rate и другие настройки формирования окон.

Синтаксис

tf.keras.utils.timeseries_dataset_from_array( data, targets, sequence_length, sequence_stride=1, sampling_rate=1, batch_size=128, shuffle=False, seed=None, start_index=None, end_index=None )

Пример

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

import tensorflow as tf data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] targets = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11] dataset = tf.keras.utils.timeseries_dataset_from_array( data, targets, sequence_length=3, batch_size=2 ) for batch in dataset: print(batch)

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

(<tf.Tensor: shape=(2, 3), dtype=int32, numpy= array([[1, 2, 3], [2, 3, 4]], dtype=int32)>, <tf.Tensor: shape=(2,), dtype=int32, numpy=array([4, 5], dtype=int32)>) (<tf.Tensor: shape=(2, 3), dtype=int32, numpy= array([[3, 4, 5], [4, 5, 6]], dtype=int32)>, <tf.Tensor: shape=(2,), dtype=int32, numpy=array([6, 7], dtype=int32)>) (<tf.Tensor: shape=(2, 3), dtype=int32, numpy= array([[5, 6, 7], [6, 7, 8]], dtype=int32)>, <tf.Tensor: shape=(2,), dtype=int32, numpy=array([8, 9], dtype=int32)>) (<tf.Tensor: shape=(1, 3), dtype=int32, numpy= array([[7, 8, 9]], dtype=int32)>, <tf.Tensor: shape=(1,), dtype=int32, numpy=array([10], dtype=int32)>)

Пример

Давайте создадим датасет с настраиваемым сдвигом окон sequence_stride и шагом выборки sampling_rate:

<+python+> import tensorflow as tf data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] targets = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11] dataset = tf.keras.utils.timeseries_dataset_from_array( data, targets, sequence_length=3, sequence_stride=2, sampling_rate=1, batch_size=2 ) for batch in dataset: print(batch) <-python+>

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

(<tf.Tensor: shape=(2, 3), dtype=int32, numpy= array([[1, 2, 3], [3, 4, 5]], dtype=int32)>, <tf.Tensor: shape=(2,), dtype=int32, numpy=array([4, 6], dtype=int32)>) (<tf.Tensor: shape=(2, 3), dtype=int32, numpy= array([[5, 6, 7], [7, 8, 9]], dtype=int32)>, <tf.Tensor: shape=(2,), dtype=int32, numpy=array([8, 10], dtype=int32)>)

Пример

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

import tensorflow as tf data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] dataset = tf.keras.utils.timeseries_dataset_from_array( data, targets=None, sequence_length=4, batch_size=2 ) for batch in dataset: print(batch)

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

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

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

  • функцию split_dataset,
    которая разделяет датасет на несколько частей
  • функцию normalize,
    которая нормализует данные датасета
  • класс TextLineDataset,
    который создает датасет из строк текстового файла
  • класс TFRecordDataset,
    который создает датасет из файлов формата TFRecord
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить