class_docstr: ADULT decoder used in the Counterfactual with Reinforcement Learning experiments. The model consists of
  of a fully connected layer with ReLU nonlinearity, and a multiheaded layer, one for each categorical feature and
  a single head for the rest of numerical features. The hidden dimension used in the paper is 128.
docstr: Forward pass.
  
  Parameters
  ----------
  x
      Input tensor.
  
  Returns
  -------
  List of reconstruction of the input tensor. First element corresponds to the reconstruction of all the         numerical features if they exist, and the rest of the elements correspond to each categorical feature.
docstr_tok: ["Forward","pass",".","Parameters","--","--","--","--","--","x","Input","tensor",".","Returns","--","--","--","-","List","of","reconstruction","of","the","input","tensor",".","First","element","corresponds","to","the","reconstruction","of","all","the","numerical","features","if","they","exist",",","and","the","rest","of","the","elements","correspond","to","each","categorical","feature","."]
code: def forward(self, x: torch.Tensor) -> List[torch.Tensor]:
      """
          Forward pass.
  
          Parameters
          ----------
          x
              Input tensor.
  
          Returns
          -------
          List of reconstruction of the input tensor. First element corresponds to the reconstruction of all the \
          numerical features if they exist, and the rest of the elements correspond to each categorical feature.
          """
      x = F.relu(self.fc1(x))
      xs = [fc(x) for fc in self.fcs]
      return xs
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from typing import List
  from alibi.models.pytorch.model import Model
label_desc: Use image node_id 2 for calling the ADULTDecoder obj's underlying member method code with example usage: obj.forward(x) and returns: xs