code: def __init__(self, args, encoder, decoder):
      super().__init__(args, encoder, decoder)
  
      # We follow BERT's random weight initialization
      self.apply(init_bert_params)
  
      self.classification_heads = nn.ModuleDict()
      if hasattr(self.encoder, "dictionary"):
          self.eos: int = self.encoder.dictionary.eos()
  
imports: import logging
  from typing import Optional
  import torch
  import torch.nn
  from fairseq import utils
  from fairseq.models import register_model, register_model_architecture
  from fairseq.models.transformer import TransformerModel
  from fairseq.modules.transformer_sentence_encoder import init_bert_params
  from .hub_interface import BARTHubInterface
label_desc: Use image node_id 2 to create a new BARTModel object from inherited base classes: TransformerModel with example: obj = BARTModel(args, encoder, decoder)