code: def get_config(**kwargs):
      @dataclass
      class Config:
          max_batch_tokens: int  # max batch token numbers
          max_seq_len: int  # max sequence length
          vocab_size: int  # vocabulary size
          padding_idx: int  # index of padding token
          num_encoder_layer: int  # number of encoder layer
          num_decoder_layer: int  # number of decoder layer
          hidden_size: int  # size of transformer hidden layers
          intermediate_size: int  # size of ffn inner size
          nhead: int  # number of heads in attention
          attn_prob_dropout_ratio: float  # attention score dropout ratio
          activation_dropout_ratio: float  # ffn activation dropout ratio
          hidden_dropout_ratio: float  # dropout ration before residual
          pre_layer_norm: bool  # pre layer norm or post
          activation_fn: str  # relu or gelu
          fp16: bool  # fp16 presion
          local_rank: int  # rank in local node
  
      if "model" in kwargs:
          if kwargs["model"] not in MODEL_ARCH:
              raise ValueError("{} architecture is not supported.")
          MODEL_ARCH[kwargs["model"]](kwargs)
          del kwargs["model"]
  
      return Config(**kwargs)
  
imports: from dataclasses import dataclass
  import torch
  import torch.nn
  from lightseq.training import LSTransformerEmbeddingLayer, LSTransformerEncoderLayer, LSTransformerDecoderLayer
  from lightseq.training.ops.pytorch.util import MODEL_ARCH
  from lightseq.training.ops.pytorch.quantization import QuantLinear
label_desc: Use image node_id 2 for calling the LSTransformer obj's underlying member method code with example usage: obj.get_config() and returns: Config