code: def testTokenizeAndDetokenizeWithOffsetsMatrix(self):
      sp = SentencepieceTokenizer(self.model, out_type=dtypes.string)
      sentences = [
          ["I love carpet.", "I love desk.", "I love lamp."],
          ["Never tell me the odds"],
      ]
      expected_tokens = [
          [
              ["▁I", "▁l", "o", "ve", "▁c", "ar", "pe", "t", "."],
              ["▁I", "▁l", "o", "ve", "▁desk", "."],
              ["▁I", "▁l", "o", "ve", "▁l", "amp", "."],
          ],
          [
              [
                  "▁",
                  "N",
                  "ever",
                  "▁tell",
                  "▁me",
                  "▁the",
                  "▁",
                  "o",
                  "d",
                  "d",
                  "s",
              ]
          ],
      ]
      expected_tokens = _utf8(expected_tokens)
      expected_starts = [
          [
              [0, 1, 3, 4, 6, 8, 10, 12, 13],
              [0, 1, 3, 4, 6, 11],
              [0, 1, 3, 4, 6, 8, 11],
          ],
          [[0, 0, 1, 5, 10, 13, 17, 18, 19, 20, 21]],
      ]
      expected_ends = [
          [
              [1, 3, 4, 6, 8, 10, 12, 13, 14],
              [1, 3, 4, 6, 11, 12],
              [1, 3, 4, 6, 8, 11, 12],
          ],
          [[0, 1, 5, 10, 13, 17, 18, 19, 20, 21, 22]],
      ]
      (tokens, starts, ends) = sp.tokenize_with_offsets(
          ragged_factory_ops.constant(sentences)
      )
      self.assertAllEqual(expected_tokens, tokens)
      self.assertAllEqual(expected_starts, starts)
      self.assertAllEqual(expected_ends, ends)
      detokenized = sp.detokenize(tokens)
      self.assertAllEqual(_utf8(sentences), detokenized)
  
imports: import sys
  import tempfile
  from absl.testing import parameterized
  from tensorflow.python.data.ops import dataset_ops
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.lib.io import file_io
  from tensorflow.python.module import module
  from tensorflow.python.ops import gen_experimental_dataset_ops
  from tensorflow.python.ops.ragged import ragged_factory_ops
  from tensorflow.python.ops.ragged import ragged_gather_ops
  from tensorflow.python.platform import gfile
  from tensorflow.python.platform import test
  from tensorflow.python.saved_model import load
  from tensorflow.python.saved_model import save
  from tensorflow_text.python.ops.sentencepiece_tokenizer import SentencepieceTokenizer
label_desc: Use image node_id 18 for calling the SentencepieceTokenizerOpTest obj's underlying member method code with example usage: obj.testTokenizeAndDetokenizeWithOffsetsMatrix() without return types