class_docstr: Sentencepiece tokenizer with tf.text interface.
docstr: Detokenizes tokens into preprocessed text.
  
  Args:
    input: A `RaggedTensor` or `Tensor` with int32 encoded text with rank >=
      1.
  
  Returns:
    A N-1 dimensional string Tensor or RaggedTensor of the detokenized text.
code: def detokenize(self, input):  # pylint: disable=redefined-builtin
      """Detokenizes tokens into preprocessed text.
  
      Args:
        input: A `RaggedTensor` or `Tensor` with int32 encoded text with rank >=
          1.
  
      Returns:
        A N-1 dimensional string Tensor or RaggedTensor of the detokenized text.
      """
      input_tensor = ragged_tensor.convert_to_tensor_or_ragged_tensor(
          input
      )
      if input_tensor.shape.ndims is None:
          raise ValueError(
              "Rank of input_tensor must be statically known."
          )
      if input_tensor.shape.ndims == 0:
          raise ValueError("Rank of input_tensor must be at least 1.")
      if ragged_tensor.is_ragged(input_tensor):
          if input_tensor.flat_values.shape.ndims > 1:
              # If the flat_values of our ragged tensor is multi-dimensional, we can
              # process it separately and our output will have the same nested
              # splits as our input.
              tokens = self.detokenize(input_tensor.flat_values)
              return input_tensor.with_flat_values(tokens)
          elif input_tensor.ragged_rank > 1:
              # Recursively process the values of the ragged tensor.
              tokens = self.detokenize(input_tensor.values)
              return input_tensor.with_values(tokens)
          else:
              return gen_fast_sentencepiece_tokenizer.tf_text_fast_sentencepiece_detokenize(
                  self._converted_model_detokenizer,
                  input_tensor.flat_values,
                  input_tensor.row_splits,
              )
      else:
          if input_tensor.shape.ndims > 1:
              # Convert the input tensor to ragged and process it.
              return self.detokenize(
                  tf.RaggedTensor.from_tensor(
                      input_tensor, row_splits_dtype=tf.int32
                  )
              )
          else:
              tokens = self.detokenize(tf.stack([input_tensor]))
              return tf.reshape(tokens, [])
  
file_path: text/tensorflow_text/python/ops/fast_sentencepiece_tokenizer.py
imports: import tensorflow.compat.v2
  from tensorflow.python.ops.ragged import ragged_tensor
  from tensorflow_text.core.pybinds import pywrap_model_converter
  from tensorflow.python.framework import load_library
  from tensorflow.python.platform import resource_loader
label_desc: Use image node_id 3 for calling the FastSentencepieceTokenizer obj's underlying member method code with example usage: obj.detokenize(input) and returns: input_tensor, self, tf, input_tensor, gen_fast_sentencepiece_tokenizer