class_docstr: Wrapper around `SentencePieceTokenizer` to keep backwards compatibility.
  
  The current DMVR SentencePiece tokenizer always sets `prepend_bos` when
  initializing the tensorflow processor and returns a sliced tensor when called
  with `prepend_bos=False`. This is problematic when the sentencepiece model is
  not trained with the BOS token (predefined and hard-coded as '<S>'), which is
  the case for T5 tokenizer. This module contains a wrapper for the DMVR
  SentencePiece tokenizer to initialize the tensorflow processor without
  prepending BOS. Instead, it prepends a custom BOS token given as an argument.
code: def __init__(self, model_path: str, bos_id: int = 0):
      self.bos_id = bos_id
      super().__init__(model_path)
  
file_path: scenic/scenic/projects/t5/tokenizer.py
imports: from collections.abc import Sequence
  from typing import Optional
  from typing import Union
  from dmvr import tokenizers
  import tensorflow
  import tensorflow_text
label_desc: Use image node_id 1 to create a new SentencePieceTokenizer object from inherited base classes: tokenizers with example: obj = SentencePieceTokenizer(model_path, bos_id)