class_docstr: A Multi-Layer Perceptron (MLP) module.
  
  Args:
      num_input_dims (int): Number of input dimensions.
      num_output_dims (int): Number of output dimensions.
      num_hidden_dims (int): Number of hidden dimensions.
      num_layers (int): Number of layers in the MLP.
      bias (bool): If True, enables the bias in Linear layers. Default is True.
      block (BlockBuilder): A callable or class for constructing a block. Default is None.
class_docstr_tok: ["A","Multi-Layer","Perceptron","(","MLP",")","module",".","Args",":","num_input_dims","(","int",")",":","Number","of","input","dimensions",".","num_output_dims","(","int",")",":","Number","of","output","dimensions",".","num_hidden_dims","(","int",")",":","Number","of","hidden","dimensions",".","num_layers","(","int",")",":","Number","of","layers","in","the","MLP",".","bias","(","bool",")",":","If","True",",","enables","the","bias","in","Linear","layers",".","Default","is","True",".","block","(","BlockBuilder",")",":","A","callable","or","class","for","constructing","a","block",".","Default","is","None","."]
docstr: Forward pass through the MLP.
  
  Args:
      x (torch.Tensor): Input tensor.
  
  Returns:
      torch.Tensor: Output tensor.
docstr_tok: ["Forward","pass","through","the","MLP",".","Args",":","x","(","torch.Tensor",")",":","Input","tensor",".","Returns",":","torch.Tensor",":","Output","tensor","."]
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      """
      Forward pass through the MLP.
  
      Args:
          x (torch.Tensor): Input tensor.
  
      Returns:
          torch.Tensor: Output tensor.
      """
      for module in self.net:
          x = module(x)
      return x
  
file_path: NeMo/nemo/collections/multimodal/modules/nerf/geometry/layers.py
imports: from typing import Callable, List, Type, Union
  import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the MLP obj's underlying member method code with example usage: obj.forward(x) and returns: x