Метод from_value класса SparseTensor
Метод from_value класса SparseTensor создает разреженный тензор
из переданного плотного тензора. Первым параметром метод принимает
плотный тензор, из которого нужно построить разреженное представление.
Вторым параметром можно передать логическое значение, указывающее,
следует ли игнорировать нулевые значения при построении разреженного тензора.
Синтаксис
tf.SparseTensor.from_value(value, [ignore_value])
Пример
Давайте создадим разреженный тензор из плотного тензора с нулевыми значениями:
import tensorflow as tf
t = tf.constant([[1, 0, 3], [0, 5, 0]])
sp = tf.SparseTensor.from_value(t)
print(sp.indices)
print(sp.values)
print(sp.dense_shape)
Результат выполнения кода:
tf.Tensor(
[[0 0]
[0 2]
[1 1]], shape=(3, 2), dtype=int64)
tf.Tensor([1 3 5], shape=(3,), dtype=int32)
tf.Tensor([2 3], shape=(2,), dtype=int64)
Пример
Давайте создадим разреженный тензор с явным указанием игнорирования нулевых значений:
import tensorflow as tf
t = tf.constant([[1, 0, 3], [0, 5, 0]])
sp = tf.SparseTensor.from_value(t, ignore_value=True)
print(sp)
Результат выполнения кода:
SparseTensor(indices=tf.Tensor(
[[0 0]
[0 2]
[1 1]], shape=(3, 2), dtype=int64), values=tf.Tensor([1 3 5], shape=(3,), dtype=int32), dense_shape=tf.Tensor([2 3], shape=(2,), dtype=int64))
Пример
Давайте создадим разреженный тензор из одномерного тензора:
import tensorflow as tf
t = tf.constant([0, 1, 0, 2, 0])
sp = tf.SparseTensor.from_value(t)
print(sp.indices)
print(sp.values)
print(sp.dense_shape)
Результат выполнения кода:
tf.Tensor(
[[1]
[3]], shape=(2, 1), dtype=int64)
tf.Tensor([1 2], shape=(2,), dtype=int32)
tf.Tensor([5], shape=(1,), dtype=int64)
Смотрите также
-
класс
SparseTensor,
который представляет разреженный тензор -
метод
eval,
который вычисляет значение разреженного тензора -
атрибут
indices,
который хранит индексы ненулевых элементов -
атрибут
values,
который хранит значения ненулевых элементов