Атрибут indices
Атрибут indices класса SparseTensor возвращает
двумерный целочисленный тензор формы [N, rank],
где N - количество ненулевых элементов,
а rank - размерность разреженного тензора.
Каждая строка содержит координаты одного ненулевого элемента.
Атрибут доступен только для чтения и является частью внутреннего
представления разреженного тензора наряду с values и
dense_shape.
Синтаксис
sparse_tensor.indices
Пример
Давайте создадим разреженный тензор из плотного
и посмотрим на его атрибут indices:
import tensorflow as tf
st = tf.sparse.from_dense(tf.constant([[1, 0, 3], [0, 5, 0]]))
print(st.indices)
Результат выполнения кода:
tf.Tensor(
[[0 0]
[0 2]
[1 1]], shape=(3, 2), dtype=int64)
Пример
Давайте создадим разреженный тензор напрямую, передав координаты ненулевых элементов, их значения и форму:
import tensorflow as tf
indices = tf.constant([[0, 1], [1, 0], [1, 2]])
values = tf.constant([10, 20, 30])
dense_shape = tf.constant([2, 3])
st = tf.sparse.SparseTensor(indices, values, dense_shape)
print(st.indices)
Результат выполнения кода:
tf.Tensor(
[[0 1]
[1 0]
[1 2]], shape=(3, 2), dtype=int32)
Пример
Давайте получим координаты ненулевых элементов и восстановим по ним плотный тензор:
Результат выполнения кода:
tf.Tensor(
[[0 0]
[0 2]
[1 1]], shape=(3, 2), dtype=int64)
tf.Tensor(
[[1 0 3]
[0 5 0]], shape=(2, 3), dtype=int32)
Смотрите также
-
класс
SparseTensor,
который представляет разреженный тензор -
атрибут
values,
который хранит значения ненулевых элементов -
атрибут
dense_shape,
который хранит плотную форму разреженного тензора -
метод
from_value,
который создает разреженный тензор из значения