class_docstr: MultiHeadedMLPModule Model.
  
  A PyTorch module composed only of a multi-layer perceptron (MLP) with
  multiple parallel output layers which maps real-valued inputs to
  real-valued outputs. The length of outputs is n_heads and shape of each
  output element is depend on each output dimension
  
  Args:
      n_heads (int): Number of different output layers
      input_dim (int): Dimension of the network input.
      output_dims (int or list or tuple): Dimension of the network output.
      hidden_sizes (list[int]): Output dimension of dense layer(s).
          For example, (32, 32) means this MLP consists of two
          hidden layers, each with 32 hidden units.
      hidden_nonlinearity (callable or torch.nn.Module or list or tuple):
          Activation function for intermediate dense layer(s).
          It should return a torch.Tensor. Set it to None to maintain a
          linear activation.
      hidden_w_init (callable): Initializer function for the weight
          of intermediate dense layer(s). The function should return a
          torch.Tensor.
      hidden_b_init (callable): Initializer function for the bias
          of intermediate dense layer(s). The function should return a
          torch.Tensor.
      output_nonlinearities (callable or torch.nn.Module or list or tuple):
          Activation function for output dense layer. It should return a
          torch.Tensor. Set it to None to maintain a linear activation.
          Size of the parameter should be 1 or equal to n_head
      output_w_inits (callable or list or tuple): Initializer function for
          the weight of output dense layer(s). The function should return a
          torch.Tensor. Size of the parameter should be 1 or equal to n_head
      output_b_inits (callable or list or tuple): Initializer function for
          the bias of output dense layer(s). The function should return a
          torch.Tensor. Size of the parameter should be 1 or equal to n_head
      layer_normalization (bool): Bool for using layer normalization or not.
docstr: Forward method.
  
  Args:
      input_val (torch.Tensor): Input values with (N, *, input_dim)
          shape.
  
  Returns:
      List[torch.Tensor]: Output values
code: def forward(self, input_val):
      """Forward method.
  
      Args:
          input_val (torch.Tensor): Input values with (N, *, input_dim)
              shape.
  
      Returns:
          List[torch.Tensor]: Output values
  
      """
      x = input_val
      for layer in self._layers:
          x = layer(x)
  
      return [output_layer(x) for output_layer in self._output_layers]
  
file_path: garage/src/garage/torch/modules/multi_headed_mlp_module.py
imports: import copy
  import torch
  import torch.nn
  from garage.torch import NonLinearity
label_desc: Use image node_id 3 for calling the MultiHeadedMLPModule obj's underlying member method code with example usage: obj.forward(input_val) and returns: unknown