class_docstr: Base class for all the verbalizers.
  
  Args:
      tokenizer (:obj:`PreTrainedTokenizer`): A tokenizer to appoint the vocabulary and the tokenization strategy.
      classes (:obj:`Sequence[str]`): A sequence of classes that need to be projected.
class_docstr_tok: ["Base","class","for","all","the","verbalizers",".","Args",":","tokenizer","(",":","obj",":","`","PreTrainedTokenizer","`",")",":","A","tokenizer","to","appoint","the","vocabulary","and","the","tokenization","strategy",".","classes","(",":","obj",":","`","Sequence","[","str","]","`",")",":","A","sequence","of","classes","that","need","to","be","projected","."]
docstr: Support multiple methods to handle the multi tokens produced by the tokenizer.
  We suggest using 'first' or 'max' if the some parts of the tokenization is not meaningful.
  Can broadcast to 3-d tensor.
  
  Args:
      label_words_logits (:obj:`torch.Tensor`):
  
  Returns:
      :obj:`torch.Tensor`
code: def handle_multi_token(self, label_words_logits, mask):
      r"""
      Support multiple methods to handle the multi tokens produced by the tokenizer.
      We suggest using 'first' or 'max' if the some parts of the tokenization is not meaningful.
      Can broadcast to 3-d tensor.
  
      Args:
          label_words_logits (:obj:`torch.Tensor`):
  
      Returns:
          :obj:`torch.Tensor`
      """
      if self.multi_token_handler == "first":
          label_words_logits = label_words_logits.select(
              dim=-1, index=0
          )
      elif self.multi_token_handler == "max":
          label_words_logits = label_words_logits - 1000 * (
              1 - mask.unsqueeze(0)
          )
          label_words_logits = label_words_logits.max(dim=-1).values
      elif self.multi_token_handler == "mean":
          label_words_logits = (
              label_words_logits * mask.unsqueeze(0)
          ).sum(dim=-1) / (mask.unsqueeze(0).sum(dim=-1) + 1e-15)
      else:
          raise ValueError(
              "multi_token_handler {} not configured".format(
                  self.multi_token_handler
              )
          )
      return label_words_logits
  
imports: from abc import abstractmethod
  import json
  from transformers.file_utils import ModelOutput
  from openprompt.config import convert_cfg_to_dict
  from transformers.utils.dummy_pt_objects import PreTrainedModel
  from openprompt.utils.utils import signature
  from yacs.config import CfgNode
  from openprompt.data_utils import InputFeatures, InputExample
  import torch
  import torch.nn
  from typing import *
  from transformers.tokenization_utils import PreTrainedTokenizer
  from openprompt.utils.logging import logger
  import numpy
  import torch.nn.functional
label_desc: Use image node_id 16 for calling the Verbalizer obj's underlying member method code with example usage: obj.handle_multi_token(label_words_logits, mask) and returns: label_words_logits