class_docstr: Given wrapped example, e.g. A fun movie ! it is <mask> and <mask> .
  The input tokens is:  A fun movie ! it is <s_0> and <s_1> . <eod>
  The decoder tokens is: <s> <s_0> <s_1> <eod>
  The expected output is: <s_0> good <s_1> interesting </s>
  Another solution is add verbalizer label words into the labels, thus generating
  'interesting' given 'good'. However, it is not implemented in this version.
code: def __init__(
      self,
      max_seq_length: int,
      tokenizer: PreTrainedTokenizer,
      truncate_method: Optional[str] = "tail",
      decoder_max_length: Optional[int] = 128,
      decode_from_start: Optional[bool] = True,
      predict_eos_token: Optional[bool] = False,
      **kwargs,
  ):
      super().__init__(
          max_seq_length=max_seq_length,
          tokenizer=tokenizer,
          truncate_method=truncate_method,
      )
      self.decoder_max_length = decoder_max_length
      self.decode_from_start = decode_from_start
      self.predict_eos = predict_eos_token
      if self.create_token_type_ids:
          logger.warning(
              "token_type_ids is not valid in T5. will be depreciated."
          )
  
imports: from json import decoder
  from transformers.tokenization_utils import PreTrainedTokenizer
  from openprompt.plms.utils import TokenizerWrapper
  from typing import List, Dict, Optional
  from collections import defaultdict
  from openprompt.utils.logging import logger
label_desc: Use image node_id 1 to create a new CPM2TokenizerWrapper object from inherited base classes: TokenizerWrapper with example: obj = CPM2TokenizerWrapper(max_seq_length, tokenizer, truncate_method, decoder_max_length, decode_from_start, predict_eos_token)