code: def __init__(self, d, encoded_size):
      super(CF_VAE, self).__init__()
  
      self.encoded_size = encoded_size
      self.data_size = len(d.ohe_encoded_feature_names)
      (
          self.minx,
          self.maxx,
          self.encoded_categorical_feature_indexes,
          self.encoded_continuous_feature_indexes,
          self.cont_minx,
          self.cont_maxx,
          self.cont_precisions,
      ) = d.get_data_params_for_gradient_dice()
  
      flattened_indexes = [
          item
          for sublist in self.encoded_categorical_feature_indexes
          for item in sublist
      ]
      self.encoded_continuous_feature_indexes = [
          ix
          for ix in range(len(self.minx[0]))
          if ix not in flattened_indexes
      ]
      self.encoded_start_cat = len(
          self.encoded_continuous_feature_indexes
      )
  
      # Plus 1 to the input encoding size and data size to incorporate the target class label
      self.encoder_mean = nn.Sequential(
          nn.Linear(self.data_size + 1, 20),
          nn.BatchNorm1d(20),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(20, 16),
          nn.BatchNorm1d(16),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(16, 14),
          nn.BatchNorm1d(14),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(14, 12),
          nn.BatchNorm1d(12),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(12, self.encoded_size),
      )
  
      self.encoder_var = nn.Sequential(
          nn.Linear(self.data_size + 1, 20),
          nn.BatchNorm1d(20),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(20, 16),
          nn.BatchNorm1d(16),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(16, 14),
          nn.BatchNorm1d(14),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(14, 12),
          nn.BatchNorm1d(12),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(12, self.encoded_size),
          nn.Sigmoid(),
      )
  
      # Plus 1 to the input encoding size and data size to incorporate the target class label
      self.decoder_mean = nn.Sequential(
          nn.Linear(self.encoded_size + 1, 12),
          nn.BatchNorm1d(12),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(12, 14),
          nn.BatchNorm1d(14),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(14, 16),
          nn.BatchNorm1d(16),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(16, 20),
          nn.BatchNorm1d(20),
          nn.Dropout(0.1),
          nn.ReLU(),
          nn.Linear(20, self.data_size),
          nn.Sigmoid(),
      )
  
file_path: DiCE/dice_ml/utils/sample_architecture/vae_model.py
imports: import torch
  import torch.utils.data
  from torch import nn
label_desc: Use image node_id 1 to create a new CF_VAE object from inherited base classes: nn with example: obj = CF_VAE(d, encoded_size)