code: def __init__(
      self,
      input_dims,
      output_dim,
      dimensions=None,
      activation="relu",
      dropout=0.0,
  ):
      super().__init__()
      self.input_dims = input_dims
      self.output_dim = output_dim
      self.input_dim = sum(input_dims)
      if dimensions is None:
          dimensions = [500, 500]
      self.dimensions = dimensions + [output_dim]
      self.activation = activation
      self.dropout = dropout
      # Modules
      self.mlp = MLP(
          self.input_dim, self.dimensions, self.activation, self.dropout
      )
      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 ConcatMLP object from inherited base classes: nn with example: obj = ConcatMLP(input_dims, output_dim, dimensions, activation, dropout)