class_docstr: Megatron encoder-decoder base class
class_docstr_tok: ["Megatron","encoder-decoder","base","class"]
docstr: Returns a dict {kwarg name: arg index} to be used when mapping
  kwargs into a list of args.
  
  Computed on first call, and then cached.
docstr_tok: ["Returns","a","dict","{","kwarg","name",":","arg","index","}","to","be","used","when","mapping","kwargs","into","a","list","of","args",".","Computed","on","first","call",",","and","then","cached","."]
code: def _kwargs_to_arg_idx(self):
      """
      Returns a dict {kwarg name: arg index} to be used when mapping
      kwargs into a list of args.
  
      Computed on first call, and then cached.
      """
      # build mapping of kwargs to arg index at first run
      module = (
          self.enc_dec_model.forward
          if not self.megatron_amp_O2
          else self.enc_dec_model.module.forward
      )
      args_name = inspect.getfullargspec(module)[0][1:]
      kwargs_to_arg_idx = {
          k: v for k, v in zip(args_name, range(len(args_name)))
      }
  
      return kwargs_to_arg_idx
  
imports: import copy
  import functools
  import inspect
  from typing import Any, Dict, List, Optional
  import torch
  from omegaconf import OmegaConf, open_dict
  from omegaconf.dictconfig import DictConfig
  from pytorch_lightning.accelerators import CPUAccelerator
  from pytorch_lightning.trainer.trainer import Trainer
  from nemo.collections.nlp.data.language_modeling.megatron.data_samplers import MegatronPretrainingRandomSampler, MegatronPretrainingSampler
  from nemo.collections.nlp.models.language_modeling.megatron_base_model import MegatronBaseModel
  from nemo.collections.nlp.modules.common.megatron.build_model import build_model
  from nemo.collections.nlp.modules.common.megatron.module import Float16Module
  from nemo.collections.nlp.modules.common.megatron.token_level_encoder_decoder import MegatronTokenLevelEncoderDecoderModule
  from nemo.collections.nlp.modules.common.megatron.utils import ApexGuardDefaults, average_losses_across_data_parallel_group, get_params_for_weight_decay_optimization
  from nemo.collections.nlp.modules.common.text_generation_utils import compute_beam_search_len_penalty, get_sampling_token_fn
  from nemo.collections.nlp.parts.utils_funcs import get_last_rank
  from nemo.utils import AppState, logging
label_desc: Use image node_id 19 for calling the MegatronLMEncoderDecoderModel obj's underlying member method code with example usage: obj._kwargs_to_arg_idx() and returns: kwargs_to_arg_idx