class_docstr: A class containing all of the functions supporting generation, to be used as a mixin in [`TFPreTrainedModel`].
class_docstr_tok: ["A","class","containing","all","of","the","functions","supporting","generation",",","to","be","used","as","a","mixin","in","[","`","TFPreTrainedModel","`","]","."]
code: def _prepare_model_inputs(
      self,
      inputs: Optional[tf.Tensor] = None,
      bos_token_id: Optional[int] = None,
  ):
      # TODO(Patrick) - adapt this function when making `generate` more flexible
      # for all kinds of input types
      if inputs is None:
          # if no `inputs` are passed create prompt of size (1,1) filled with BOS token
          if not isinstance(bos_token_id, int) or bos_token_id < 0:
              raise ValueError(
                  "you should either supply a context to complete as `input_ids` input "
                  "or a `bos_token_id` (integer >= 0) as a first token to start the generation."
              )
          return tf.cast(tf.fill((1, 1), bos_token_id), dtype=tf.int32)
  
      return inputs
  
imports: import inspect
  import warnings
  from dataclasses import dataclass
  from typing import Any, Dict, List, Optional, Tuple, Union
  import numpy
  import tensorflow
  from tensorflow.compiler.tf2xla.python.xla import dynamic_update_slice
  from .generation_tf_logits_process import TFForcedBOSTokenLogitsProcessor, TFForcedEOSTokenLogitsProcessor, TFForceTokensLogitsProcessor, TFLogitsProcessorList, TFMinLengthLogitsProcessor, TFNoBadWordsLogitsProcessor, TFNoRepeatNGramLogitsProcessor, TFRepetitionPenaltyLogitsProcessor, TFSuppressTokensAtBeginLogitsProcessor, TFSuppressTokensLogitsProcessor, TFTemperatureLogitsWarper, TFTopKLogitsWarper, TFTopPLogitsWarper
  from .models.auto import TF_MODEL_FOR_CAUSAL_LM_MAPPING, TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING, TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING, TF_MODEL_FOR_VISION_2_SEQ_MAPPING
  from .tf_utils import shape_list, stable_softmax
  from .utils import ModelOutput, logging
label_desc: Use image node_id 16 for calling the TFGenerationMixin obj's underlying member method code with example usage: obj._prepare_model_inputs(inputs, bos_token_id) and returns: inputs, tf