class_docstr: Heterogeneous autoencoder. The model follows the standard autoencoder architecture and includes and additional
  type check to ensure that the output of the model is a list of tensors. For more details, see
  :py:class:`alibi.models.pytorch.autoencoder.AE`.
class_docstr_tok: ["Heterogeneous","autoencoder",".","The","model","follows","the","standard","autoencoder","architecture","and","includes","and","additional","type","check","to","ensure","that","the","output","of","the","model","is","a","list","of","tensors",".","For","more","details",",","see",":","py",":","class",":","`","alibi.models.pytorch.autoencoder.AE","`","."]
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_hat = super().forward(x)
  
      # TODO: think of a better way to do the check, or maybe just remove it since return type hints
      if not isinstance(x_hat, list):
          raise ValueError("The output of HeAE should be list.")
  
      return x_hat
  
file_path: alibi/alibi/models/pytorch/autoencoder.py
imports: import torch
  import torch.nn
  from alibi.models.pytorch.model import Model
  from typing import List, Union
label_desc: Use image node_id 2 for calling the HeAE obj's underlying member method code with example usage: obj.forward(x) and returns: x_hat