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

Атрибут element_spec

Атрибут element_spec класса Dataset возвращает описание структуры элементов датасета в виде объекта TensorSpec или кортежа/словаря из TensorSpec. Каждый TensorSpec содержит форму тензора, тип данных и, при необходимости, имя. Атрибут доступен только для чтения и не принимает параметров. Он особенно полезен при построении моделей, когда нужно заранее знать форму входных данных.

Синтаксис

dataset.element_spec

Пример

Давайте создадим датасет из тензора и посмотрим на его element_spec:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5]) dataset = tf.data.Dataset.from_tensor_slices(t) print(dataset.element_spec)

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

TensorSpec(shape=(None,), dtype=tf.int32, name=None)

Пример

Давайте создадим датасет из двумерного тензора и изучим форму элементов:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]]) dataset = tf.data.Dataset.from_tensor_slices(t) print(dataset.element_spec)

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

TensorSpec(shape=(3,), dtype=tf.int32, name=None)

Пример

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

import tensorflow as tf t1 = tf.constant([1, 2, 3, 4, 5]) t2 = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0]) dataset = tf.data.Dataset.from_tensor_slices((t1, t2)) print(dataset.element_spec)

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

(TensorSpec(shape=(None,), dtype=tf.int32, name=None), TensorSpec(shape=(None,), dtype=tf.float32, name=None))

Пример

Давайте применим метод batch и посмотрим, как изменится форма элементов в element_spec:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5]) dataset = tf.data.Dataset.from_tensor_slices(t) dataset = dataset.batch(2) print(dataset.element_spec)

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

TensorSpec(shape=(None,), dtype=tf.int32, name=None)

Пример

Давайте создадим датасет из генератора и проверим его element_spec:

import tensorflow as tf def gen(): for i in range(5): yield i dataset = tf.data.Dataset.from_generator( gen, output_signature=tf.TensorSpec(shape=(), dtype=tf.int32) ) print(dataset.element_spec)

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

TensorSpec(shape=(), dtype=tf.int32, name=None)

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

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