code: def forward(
      self,
      right_encoder_inputs: Tuple[torch.Tensor, ...],
      middle_encoder_inputs: Tuple[torch.Tensor, ...],
      left_encoder_inputs: Tuple[torch.Tensor, ...],
      *args,
  ) -> List[torch.Tensor]:
      if self.right_encoder.output_encoded_layers:
          # if encoded layers are returned, discard them
          right_representation = self.right_encoder(
              right_encoder_inputs
          )[1]
      else:
          right_representation = self.right_encoder(
              right_encoder_inputs
          )[0]
      if self.middle_encoder.output_encoded_layers:
          # if encoded layers are returned, discard them
          middle_representation = self.middle_encoder(
              middle_encoder_inputs
          )[1]
      else:
          middle_representation = self.middle_encoder(
              middle_encoder_inputs
          )[0]
      if self.left_encoder.output_encoded_layers:
          # if encoded layers are returned, discard them
          left_representation = self.left_encoder(left_encoder_inputs)[
              1
          ]
      else:
          left_representation = self.left_encoder(left_encoder_inputs)[
              0
          ]
      return self.decoder(
          right_representation,
          middle_representation,
          left_representation,
          *args,
      )
  
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 6 for calling the TriTowerClassificationModel obj's underlying member method code with example usage: obj.forward(right_encoder_inputs, middle_encoder_inputs, left_encoder_inputs) and returns: self