code: def __init__(
      self,
      right_encoder,
      middle_encoder,
      left_encoder,
      decoder,
      output_layer,
      use_shared_embedding,
      vocab_size,
      hidden_dim,
      padding_idx,
      stage=Stage.TRAIN,
  ) -> None:
      super().__init__(stage=stage)
      self.right_encoder = right_encoder
      self.middle_encoder = middle_encoder
      self.left_encoder = left_encoder
      self.decoder = decoder
      self.module_list = [
          right_encoder,
          middle_encoder,
          left_encoder,
          decoder,
      ]
      self.output_layer = output_layer
      self.use_shared_embedding = use_shared_embedding
      self.vocab_size = vocab_size
      self.hidden_dim = hidden_dim
      self.padding_idx = padding_idx
      self.stage = stage
      log_class_usage(__class__)
  
imports: from typing import Dict, List, Optional, Tuple, Union
  import torch
  from pytext.common.constants import Stage, TORCH_VERSION
  from pytext.config import ConfigBase
  from pytext.config.component import create_loss
  from pytext.data.roberta_tensorizer import RoBERTaTensorizer
  from pytext.data.tensorizers import FloatListTensorizer, LabelTensorizer, Tensorizer
  from pytext.loss import BinaryCrossEntropyLoss, MultiLabelSoftMarginLoss
  from pytext.models.decoders.mlp_decoder_n_tower import MLPDecoderNTower
  from pytext.models.decoders.mlp_decoder_tri_tower import MLPDecoderTriTower
  from pytext.models.model import BaseModel
  from pytext.models.module import create_module
  from pytext.models.output_layers import ClassificationOutputLayer
  from pytext.models.output_layers.doc_classification_output_layer import BinaryClassificationOutputLayer, MulticlassOutputLayer, MultiLabelOutputLayer
  from pytext.models.roberta import RoBERTaEncoder, RoBERTaEncoderBase
  from pytext.torchscript.module import ScriptPyTextTriTowerModuleWithDense
  from pytext.utils.label import get_label_weights
  from pytext.utils.usage import log_class_usage
label_desc: Use image node_id 9 to create a new TriTowerClassificationModel object from inherited base classes: BaseModel with example: obj = TriTowerClassificationModel(right_encoder, middle_encoder, left_encoder, decoder, output_layer, use_shared_embedding, vocab_size, hidden_dim, padding_idx, stage)