class_docstr: ``PromptModel`` is the encapsulation of ``Template`` and the ``pre-trained model``,
  with OpenPrompt, these modules could be flexibly combined. And this class is the base class of ``PromptForClassification`` and ``PromptForGeneration``
  
  Args:
      plm (:obj:`PreTrainedModel`): The pre-trained language model for the current prompt-learning task.
      template (:obj:`Template`): The ``Template`` object to warp the input data.
      freeze_plm (:obj:`bool`): whether or not to freeze the pretrained language model
      plm_eval_mode (:obj:`bool`): this is a stronger freezing mode than freeze_plm, i.e. the dropout of the model is turned off. No matter whether the other part is set to train.
docstr: Will be used in generation
          
docstr_tok: ["Will","be","used","in","generation"]
code: def prepare_model_inputs(self, batch):
      r"""Will be used in generation"""
      batch = self.template.process_batch(batch)
      input_batch = {
          key: batch[key] for key in batch if key in self.forward_keys
      }
      return input_batch
  
imports: from typing import *
  from utils import round_list, signature
  import paddle
label_desc: Use image node_id 5 for calling the erniePromptModel obj's underlying member method code with example usage: obj.prepare_model_inputs(batch) and returns: input_batch