class_docstr: A class containing all of the functions supporting generation, to be used as a mixin in
  :class:`~transformers.PreTrainedModel`.
class_docstr_tok: ["A","class","containing","all","of","the","functions","supporting","generation",",","to","be","used","as","a","mixin","in",":","class",":","`","~transformers.PreTrainedModel","`","."]
code: def _prepare_encoder_decoder_kwargs_for_generation(
      self, input_ids: "torch.LongTensor", model_kwargs
  ) -> Dict[str, Any]:
      if "encoder_outputs" not in model_kwargs:
          # retrieve encoder hidden states
          encoder = self.get_encoder()
          encoder_kwargs = {
              argument: value
              for argument, value in model_kwargs.items()
              if not (
                  argument.startswith("decoder_")
                  or argument.startswith("cross_attn")
              )
          }
          model_kwargs["encoder_outputs"]: ModelOutput = encoder(
              input_ids, return_dict=True, **encoder_kwargs
          )
      return model_kwargs
  
imports: from dataclasses import dataclass
  from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Union
  from .file_utils import ModelOutput
  from .generation_beam_search import BeamScorer, BeamSearchScorer
  from .generation_logits_process import EncoderNoRepeatNGramLogitsProcessor, ForcedBOSTokenLogitsProcessor, ForcedEOSTokenLogitsProcessor, HammingDiversityLogitsProcessor, InfNanRemoveLogitsProcessor, LogitsProcessorList, MinLengthLogitsProcessor, NoBadWordsLogitsProcessor, NoRepeatNGramLogitsProcessor, PrefixConstrainedLogitsProcessor, RepetitionPenaltyLogitsProcessor, TemperatureLogitsWarper, TopKLogitsWarper, TopPLogitsWarper
  from .generation_stopping_criteria import MaxLengthCriteria, MaxNewTokensCriteria, MaxTimeCriteria, StoppingCriteriaList, validate_stopping_criteria
  from fastNLP.envs.imports import _NEED_IMPORT_TORCH
  from fastNLP.core.log import logger
label_desc: Use image node_id 5 for calling the GenerationMixin obj's underlying member method code with example usage: obj._prepare_encoder_decoder_kwargs_for_generation(input_ids, model_kwargs) and returns: model_kwargs