class_docstr: MLP for numerical input.
docstr: Parameters
  ----------
  batch
      A dictionary containing the input mini-batch data.
      We need to use the keys with the model prefix to index required data.
  
  Returns
  -------
      A dictionary with logits and features.
docstr_tok: ["Parameters","--","--","--","--","--","batch","A","dictionary","containing","the","input","mini-batch","data",".","We","need","to","use","the","keys","with","the","model","prefix","to","index","required","data",".","Returns","--","--","--","-","A","dictionary","with","logits","and","features","."]
code: def forward(
      self,
      batch: dict,
  ):
      """
  
      Parameters
      ----------
      batch
          A dictionary containing the input mini-batch data.
          We need to use the keys with the model prefix to index required data.
  
      Returns
      -------
          A dictionary with logits and features.
      """
      features = self.numerical_feature_tokenizer(
          batch[self.numerical_key]
      )
      features = (
          features.flatten(1, 2) if features.ndim == 3 else features
      )
      features = self.mlp(features)
      logits = self.head(features)
  
      return {
          self.prefix: {
              LOGITS: logits,
              FEATURES: features,
          }
      }
  
file_path: autogluon/multimodal/src/autogluon/multimodal/models/numerical_mlp.py
imports: from typing import List, Optional
  from torch import nn
  from ..constants import FEATURES, LABEL, LOGITS, NUMERICAL
  from .ft_transformer import NumEmbeddings
  from .mlp import MLP
  from .utils import init_weights
label_desc: Use image node_id 5 for calling the NumericalMLP obj's underlying member method code with example usage: obj.forward(batch) and returns: dict