class_docstr: Use MLP to fuse different models' features (single-modal and multimodal).
  Specifically, it adapts the features of each model to specified dimensions,
  concatenates the adapted features, and fuses the features through MLP.
code: def input_keys(self):
      input_keys = []
      for m in self.model:
          assert hasattr(
              m, "input_keys"
          ), f"invalid model {type(m)}, which doesn't have a 'input_keys' attribute"
          input_keys += m.input_keys
      return input_keys
  
file_path: autogluon/multimodal/src/autogluon/multimodal/models/fusion/fusion_mlp.py
imports: import logging
  from typing import List, Optional
  import torch
  from torch import nn
  from ...constants import AUTOMM, FEATURES, LABEL, LOGITS, WEIGHT
  from ..mlp import MLP
  from ..utils import init_weights, run_model
  from .base import AbstractMultimodalFusionModel
label_desc: Use image node_id 2 for calling the MultimodalFusionMLP obj's underlying member method code with example usage: obj.input_keys() and returns: input_keys