Атрибут dense_shape
Атрибут dense_shape класса SparseTensor
возвращает плотную форму разреженного тензора.
Форма представлена одномерным тензором целых чисел,
который описывает размеры каждой оси тензора,
как если бы он был плотным. Например, для разреженного
тензора с формой 3×4 атрибут вернет тензор
[3, 4]. Атрибут доступен только для чтения
и является частью внутреннего представления
разреженного тензора наряду с indices и values.
Синтаксис
tf.SparseTensor.indices
tf.SparseTensor.values
tf.SparseTensor.dense_shape
Пример
Давайте создадим разреженный тензор и посмотрим на его плотную форму:
import tensorflow as tf
indices = [[0, 0], [1, 1], [2, 2]]
values = [1, 2, 3]
dense_shape = [3, 3]
sp = tf.SparseTensor(indices=indices,
values=values, dense_shape=dense_shape)
print(sp.dense_shape)
Результат выполнения кода:
tf.Tensor([3 3], shape=(2,), dtype=int64)
Пример
Давайте создадим разреженный тензор большей размерности и проверим его плотную форму:
Результат выполнения кода:
Пример
Давайте преобразуем разреженный тензор в плотный
и сравним его форму с атрибутом dense_shape:
Результат выполнения кода:
Смотрите также
-
класс
SparseTensor,
который представляет разреженный тензор -
атрибут
indices,
который хранит индексы ненулевых элементов -
атрибут
values,
который хранит значения ненулевых элементов -
метод
from_value,
который создает разреженный тензор из плотного