class_docstr: Original BERT wordpiece tokenizer.
code: def __init__(self, vocab_file, lower_case=True, vocab_extra_ids=0):
      if lower_case:
          name = "BERT Lower Case"
      else:
          name = "BERT Upper Case"
      super().__init__(name)
      self.tokenizer = FullBertTokenizer(
          vocab_file, do_lower_case=lower_case
      )
      self.cls_id = self.tokenizer.vocab["[CLS]"]
      self.sep_id = self.tokenizer.vocab["[SEP]"]
      self.pad_id = self.tokenizer.vocab["[PAD]"]
      self.mask_id = self.tokenizer.vocab["[MASK]"]
      self._additional_special_tokens = []
  
      # (dsachan) Add BOS and EOS tokens
      SPECIAL_TOKENS = {"eos_token": "[EOS]", "bos_token": "[BOS]"}
      self._bos_token = "[BOS]"
      self.add_token(self._bos_token)
      self._bos_token_id = self.vocab.get(self._bos_token)
  
      self._eos_token = "[EOS]"
      self.add_token(self._eos_token)
      self._eos_token_id = self.vocab.get(self._eos_token)
  
      # (dsachan) Add additional special tokens
      # These can be used as sentinel tokens in T5 model inputs
      additional_special_tokens = []
      additional_special_tokens.extend(
          ["<extra_id_{}>".format(i) for i in range(vocab_extra_ids)]
      )
      self.add_additional_special_tokens(additional_special_tokens)
  
imports: from abc import ABC, abstractmethod
  from colossalai.legacy.context import ParallelMode
  from colossalai.legacy.core import global_context
  from .bert_tokenization import FullTokenizer
label_desc: Use image node_id 1 to create a new _BertWordPieceTokenizer object from inherited base classes: AbstractTokenizer with example: obj = _BertWordPieceTokenizer(vocab_file, lower_case, vocab_extra_ids)