code: def __init__(
      self,
      input_dims,
      output_dim,
      mm_dim=1200,
      activ_input="relu",
      activ_output="relu",
      normalize=False,
      dropout_input=0.0,
      dropout_pre_lin=0.0,
      dropout_output=0.0,
  ):
      super().__init__()
      self.input_dims = input_dims
      self.mm_dim = mm_dim
      self.output_dim = output_dim
      self.activ_input = activ_input
      self.activ_output = activ_output
      self.normalize = normalize
      self.dropout_input = dropout_input
      self.dropout_pre_lin = dropout_pre_lin
      self.dropout_output = dropout_output
      # Modules
      self.linear0 = nn.Linear(input_dims[0], mm_dim)
      self.linear1 = nn.Linear(input_dims[1], mm_dim)
      self.linear_out = nn.Linear(mm_dim, output_dim)
      self.n_params = sum(
          p.numel() for p in self.parameters() if p.requires_grad
      )
  
      log_class_usage("Fusion", self.__class__)
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmf.common.registry import registry
  from mmf.utils.general import get_chunks, get_sizes_list, irfft, rfft
  from mmf.utils.logger import log_class_usage
label_desc: Use image node_id 1 to create a new MLB object from inherited base classes: nn with example: obj = MLB(input_dims, output_dim, mm_dim, activ_input, activ_output, normalize, dropout_input, dropout_pre_lin, dropout_output)