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: Constructor.
  
  Parameters
  ----------
  hidden_dim
      Hidden dimension.
  output_dims
      List of output dimensions.
docstr_tok: ["Constructor",".","Parameters","--","--","--","--","--","hidden_dim","Hidden","dimension",".","output_dims","List","of","output","dimensions","."]
code: def __init__(self, hidden_dim: int, output_dims: List[int]):
      """
      Constructor.
  
      Parameters
      ----------
      hidden_dim
          Hidden dimension.
      output_dims
          List of output dimensions.
      """
      super().__init__()
      self.fc1 = nn.LazyLinear(hidden_dim)
      self.fcs = nn.ModuleList(
          [nn.LazyLinear(dim) for dim in output_dims]
      )
  
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 1 to create a new ADULTDecoder object from inherited base classes: nn with example: obj = ADULTDecoder(hidden_dim, output_dims)