Атрибут values класса SparseTensor
Атрибут values класса SparseTensor возвращает тензор с ненулевыми значениями разреженного тензора. Разреженный тензор хранит только ненулевые элементы, а их позиции описываются отдельно с помощью атрибутов indices и dense_shape. Атрибут values имеет тип данных элементов разреженного тензора и форму, равную количеству ненулевых элементов.
Синтаксис
t.values
Пример
Давайте создадим разреженный тензор из списка значений и списка индексов, а затем выведем его ненулевые значения:
import tensorflow as tf
values = [1, 2, 3]
indices = [[0, 0], [1, 1], [2, 2]]
dense_shape = [3, 3]
t = tf.sparse.SparseTensor(indices=indices, values=values, dense_shape=dense_shape)
print(t.values)
Результат выполнения кода:
tf.Tensor([1 2 3], shape=(3,), dtype=int32)
Пример
Давайте создадим разреженный тензор с типом данных float32 и выведем его значения:
import tensorflow as tf
values = [1.5, 2.5, 3.5]
indices = [[0, 0], [1, 1], [2, 2]]
dense_shape = [3, 3]
t = tf.sparse.SparseTensor(indices=indices, values=values, dense_shape=dense_shape)
print(t.values)
Результат выполнения кода:
tf.Tensor([1.5 2.5 3.5], shape=(3,), dtype=float32)
Пример
Давайте преобразуем разреженный тензор в плотный и убедимся, что значения совпадают:
import tensorflow as tf
values = [1, 2, 3]
indices = [[0, 0], [1, 1], [2, 2]]
dense_shape = [3, 3]
t = tf.sparse.SparseTensor(indices=indices, values=values, dense_shape=dense_shape)
dense = tf.sparse.to_dense(t)
print(t.values)
print(dense)
Результат выполнения кода:
tf.Tensor([1 2 3], shape=(3,), dtype=int32)
tf.Tensor(
[[1 0 0]
[0 2 0]
[0 0 3]], shape=(3, 3), dtype=int32)
Смотрите также
-
класс
SparseTensor,
который представляет разреженный тензор -
атрибут
indices,
который возвращает индексы ненулевых элементов -
атрибут
dense_shape,
который возвращает форму плотного тензора -
метод
from_value,
который создает разреженный тензор из плотного