Decodes a variant Tensor into a RaggedTensor.

    encoded_ragged, input_ragged_rank, output_ragged_rank, Tvalues,
    Tsplits=tf.dtypes.int64, name=None

Decodes the given variant Tensor and returns a RaggedTensor. The input could be a scalar, meaning it encodes a single RaggedTensor with ragged_rank output_ragged_rank. It could also have an arbitrary rank, in which case each element is decoded into a RaggedTensor with ragged_rank input_ragged_rank and these are then stacked according to the input shape to output a single RaggedTensor with ragged_rank output_ragged_rank. Each variant element in the input Tensor is decoded by retrieving from the element a 1-D variant Tensor with input_ragged_rank + 1 Tensors, corresponding to the splits and values of the decoded RaggedTensor. If input_ragged_rank is -1, then it is inferred as output_ragged_rank - rank(encoded_ragged). See RaggedTensorToVariant for the corresponding encoding logic.


  • encoded_ragged: A Tensor of type variant. A variant Tensor containing encoded RaggedTensors.
  • input_ragged_rank: An int that is >= -1. The ragged rank of each encoded RaggedTensor component in the input. If set to -1, this is inferred as output_ragged_rank - rank(encoded_ragged)
  • output_ragged_rank: An int that is >= 0. The expected ragged rank of the output RaggedTensor. The following must hold: output_ragged_rank = rank(encoded_ragged) + input_ragged_rank.
  • Tvalues: A tf.DType.
  • Tsplits: An optional tf.DType from: tf.int32, tf.int64. Defaults to tf.int64.
  • name: A name for the operation (optional).


A tuple of Tensor objects (output_nested_splits, output_dense_values).

  • output_nested_splits: A list of output_ragged_rank Tensor objects with type Tsplits.
  • output_dense_values: A Tensor of type Tvalues.