Атрибут shape
Атрибут shape класса Tensor возвращает форму тензора,
то есть его размерность по каждому измерению.
Значение представлено объектом TensorShape,
который поддерживает индексацию, итерацию и преобразование в список.
Атрибут доступен только для чтения и не принимает параметров.
Синтаксис
t.shape
Пример
Давайте создадим одномерный тензор и выведем его форму:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
print(t.shape)
Результат выполнения кода:
(5,)
Пример
Давайте создадим двумерный тензор и получим его форму:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
print(t.shape)
Результат выполнения кода:
(2, 3)
Пример
Давайте обратимся к отдельным элементам формы по индексу:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
print(t.shape[0])
print(t.shape[1])
Результат выполнения кода:
2
3
Пример
Давайте преобразуем форму тензора в список и кортеж:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]])
print(t.shape.as_list())
print(tuple(t.shape))
Результат выполнения кода:
[2, 3]
(2, 3)
Пример
Давайте сравним атрибут shape с атрибутом ndim для трёхмерного тензора:
import tensorflow as tf
t = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(t.shape)
print(t.ndim)
Результат выполнения кода:
(2, 2, 2)
3