|TensorFlow 1 version||View source on GitHub|
Represents a sparse tensor.
See Migration guide for more details.
tf.sparse.SparseTensor( indices, values, dense_shape )
Used in the notebooks
|Used in the guide||Used in the tutorials|
TensorFlow represents a sparse tensor as three separate dense tensors:
dense_shape. In Python, the three tensors are
collected into a
SparseTensor class for ease of use. If you have separate
dense_shape tensors, wrap them in a
object before passing to the ops below.
Concretely, the sparse tensor
SparseTensor(indices, values, dense_shape)
comprises the following components, where
ndims are the number
of values and number of dimensions in the
indices: A 2-D int64 tensor of shape
[N, ndims], which specifies the indices of the elements in the sparse tensor that contain nonzero values (elements are zero-indexed). For example,
indices=[[1,3], [2,4]]specifies that the elements with indexes of [1,3] and [2,4] have nonzero values.
values: A 1-D tensor of any type and shape
[N], which supplies the values for each element in
indices. For example, given
indices=[[1,3], [2,4]], the parameter
values=[18, 3.6]specifies that element [1,3] of the sparse tensor has a value of 18, and element [2,4] of the tensor has a value of 3.6.
dense_shape: A 1-D int64 tensor of shape
[ndims], which specifies the dense_shape of the sparse tensor. Takes a list indicating the number of elements in each dimension. For example,
dense_shape=[3,6]specifies a two-dimensional 3x6 tensor,
dense_shape=[2,3,4]specifies a three-dimensional 2x3x4 tensor, and
dense_shape=specifies a one-dimensional tensor with 9 elements.
The corresponding dense tensor satisfies:
dense.shape = dense_shape dense[tuple(indices[i])] = values[i]
indices should be sorted in row-major order (or equivalently
lexicographic order on the tuples
indices[i]). This is not enforced when
SparseTensor objects are constructed, but most ops assume correct ordering.
If the ordering of sparse tensor
st is wrong, a fixed version can be
obtained by calling
Example: The sparse tensor
SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
represents the dense tensor
[[1, 0, 0, 0] [0, 0, 2, 0] [0, 0, 0, 0]]
A 2-D int64 tensor of shape
A 1-D tensor of any type and shape
A 1-D int64 tensor of shape
When building an eager SparseTensor if
||A 1-D Tensor of int64 representing the shape of the dense tensor.|
||The indices of non-zero values in the represented dense tensor.|