peal.generators.tabular_ddpm.TabularDDPMConfig

class peal.generators.tabular_ddpm.TabularDDPMConfig[source]

Bases: GeneratorConfig

Config of TabularDDPM.

Parameters:
  • generator_type (str) – Registry name, "TabularDDPM".

  • input_dim (int) – Number of non-label feature columns the score network denoises.

  • embed_dim (int) – Width of the timestep embedding and of the hidden MLP layers.

  • num_timesteps (int) – Length of the forward noising chain (T).

  • model_name (str) – Filename of the saved state dict inside base_path.

  • var_schedule (str) – "linear" or "cosine" beta schedule.

  • base_path (str) – Directory used as model_dir when none is passed to the generator.

  • num_epochs (int, float) – Adam training budget. The batch size comes from GeneratorConfig.batch_size.

  • learning_rate (int, float) – Adam training budget. The batch size comes from GeneratorConfig.batch_size.

  • grad_scales (list of float) – Classifier-gradient weights tried by TabularDDPM.edit().

  • noise_steps_for_counterfactuals (list of int) – Forward-diffusion depths (t) tried by TabularDDPM.edit().

  • attack_iterations (int) – How many times the (steps x scales) grid is repeated in edit.

  • data (DataConfig) – Dataset config used when no dataset object is passed.

Methods

Attributes

attack_iterations

base_path

data

Pydantic description of a dataset, loadable from yaml.

embed_dim

generator_type

The type of generator that shall be used.

grad_scales

input_dim

learning_rate

model_name

noise_steps_for_counterfactuals

num_epochs

num_timesteps

var_schedule

generator_type: str = 'TabularDDPM'

The type of generator that shall be used.

input_dim: int = 2
embed_dim: int = 64
num_timesteps: int = 1000
model_name: str = 'diffusion.pt'
var_schedule: str = 'linear'
base_path: str = ''
num_epochs: int = 100
learning_rate: float = 0.001
grad_scales: List[float] = [1.0]
noise_steps_for_counterfactuals: List[int] = [100]
attack_iterations: int = 1