code: def __init__(self, config: GPTSanJapaneseConfig):
      super().__init__(config)
      self.model = GPTSanJapaneseModel(config)
      self.register_buffer(
          "final_logits_bias", torch.zeros([1, config.vocab_size])
      )
      self.lm_head = nn.Linear(
          config.d_model, config.vocab_size, bias=False
      )
      if not self.config.torchscript:
          self.lm_head.weight = self.model.embed_tokens.weight
  
imports: import copy
  from typing import List, Optional, Tuple, Union
  import torch
  import torch.nn
  from ...activations import ACT2FN
  from ...modeling_outputs import MoECausalLMOutputWithPast, MoEModelOutputWithPastAndCrossAttentions
  from ...modeling_utils import PreTrainedModel
  from ...utils import DUMMY_INPUTS, DUMMY_MASK, add_start_docstrings, add_start_docstrings_to_model_forward, is_torch_fx_proxy, logging
  from .configuration_gptsan_japanese import GPTSanJapaneseConfig
label_desc: Use image node_id 1 to create a new GPTSanJapaneseForConditionalGeneration object from inherited base classes: GPTSanJapanesePreTrainedModel with example: obj = GPTSanJapaneseForConditionalGeneration(config)