tf.raw_ops.DeserializeSparse

Deserialize SparseTensor objects.

tf.raw_ops.DeserializeSparse(
    serialized_sparse, dtype, name=None
)

The input serialized_sparse must have the shape [?, ?, ..., ?, 3] where the last dimension stores serialized SparseTensor objects and the other N dimensions (N >= 0) correspond to a batch. The ranks of the original SparseTensor objects must all match. When the final SparseTensor is created, its rank is the rank of the incoming SparseTensor objects plus N; the sparse tensors have been concatenated along new dimensions, one for each batch.

The output SparseTensor object's shape values for the original dimensions are the max across the input SparseTensor objects' shape values for the corresponding dimensions. The new dimensions match the size of the batch.

The input SparseTensor objects' indices are assumed ordered in standard lexicographic order. If this is not the case, after this step run SparseReorder to restore index ordering.

For example, if the serialized input is a [2 x 3] matrix representing two original SparseTensor objects:

index = [ 0]
        [10]
        [20]
values = [1, 2, 3]
shape = [50]

and

index = [ 2]
        [10]
values = [4, 5]
shape = [30]

then the final deserialized SparseTensor will be:

index = [0  0]
        [0 10]
        [0 20]
        [1  2]
        [1 10]
values = [1, 2, 3, 4, 5]
shape = [2 50]

Args:

  • serialized_sparse: A Tensor. Must be one of the following types: string, variant. The serialized SparseTensor objects. The last dimension must have 3 columns.
  • dtype: A tf.DType. The dtype of the serialized SparseTensor objects.
  • name: A name for the operation (optional).

Returns:

A tuple of Tensor objects (sparse_indices, sparse_values, sparse_shape).

  • sparse_indices: A Tensor of type int64.
  • sparse_values: A Tensor of type dtype.
  • sparse_shape: A Tensor of type int64.