class_docstr: Implements a 'tri-tower' MLPDecoder: one for left, one for middle, and one for right
class_docstr_tok: ["Implements","a","'tri-tower","'","MLPDecoder",":","one","for","left",",","one","for","middle",",","and","one","for","right"]
code: def __init__(
      self,
      config: Config,
      right_dim: int,
      middle_dim: int,
      left_dim: int,
      to_dim: int,
      export_type=ExportType.NONE,
  ) -> None:
      super().__init__(config)
  
      self.mlp_for_right = MLPDecoderTriTower.get_mlp(
          right_dim,
          0,
          config.right_hidden_dims,
          config.layer_norm,
          config.dropout,
          config.activation,
          export_embedding=True,
      )
      self.mlp_for_middle = MLPDecoderTriTower.get_mlp(
          middle_dim,
          0,
          config.middle_hidden_dims,
          config.layer_norm,
          config.dropout,
          config.activation,
          export_embedding=True,
      )
      self.mlp_for_left = MLPDecoderTriTower.get_mlp(
          left_dim,
          0,
          config.left_hidden_dims,
          config.layer_norm,
          config.dropout,
          config.activation,
          export_embedding=True,
      )
      from_dim = (
          config.right_hidden_dims[-1]
          + config.middle_hidden_dims[-1]
          + config.left_hidden_dims[-1]
      )
      self.mlp = MLPDecoderTriTower.get_mlp(
          from_dim,
          to_dim,
          config.hidden_dims,
          config.layer_norm,
          config.dropout,
          config.activation,
      )
      self.out_dim = to_dim
      self.export_type = export_type
      log_class_usage
  
file_path: pytext/pytext/models/decoders/mlp_decoder_tri_tower.py
imports: from enum import Enum
  from typing import List
  import torch
  import torch.nn
  from pytext.config.module_config import Activation
  from pytext.models.decoders.decoder_base import DecoderBase
  from pytext.optimizer import get_activation
  from pytext.utils import precision
  from pytext.utils.usage import log_class_usage
label_desc: Use image node_id 1 to create a new MLPDecoderTriTower object from inherited base classes: DecoderBase with example: obj = MLPDecoderTriTower(config, right_dim, middle_dim, left_dim, to_dim, export_type)