Метод element_spec класса Dataset
Метод element_spec класса Dataset возвращает спецификацию элементов датасета.
Спецификация описывает структуру каждого элемента: форму тензоров, их тип данных
и вложенность структур (например, кортежей или словарей).
Метод не принимает параметров и возвращает объект TypeSpec,
который можно использовать для проверки или создания новых датасетов с той же структурой.
Синтаксис
dataset.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=(), 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)
Пример
Давайте создадим датасет из кортежа тензоров и выведем его спецификацию:
import tensorflow as tf
t1 = tf.constant([1, 2, 3])
t2 = tf.constant([4, 5, 6])
dataset = tf.data.Dataset.from_tensor_slices((t1, t2))
print(dataset.element_spec)
Результат выполнения кода:
(TensorSpec(shape=(), dtype=tf.int32, name=None), TensorSpec(shape=(), dtype=tf.int32, name=None))
Пример
Давайте применим метод batch к датасету и посмотрим, как изменится спецификация:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
dataset = tf.data.Dataset.from_tensor_slices(t).batch(2)
print(dataset.element_spec)
Результат выполнения кода:
TensorSpec(shape=(None,), dtype=tf.int32, name=None)
Смотрите также
-
класс
Dataset,
который представляет собой набор элементов -
метод
from_tensor_slices,
который создает датасет из срезов тензора -
метод
batch,
который объединяет элементы датасета в батчи -
атрибут
element_spec,
который хранит спецификацию элементов датасета