Implementation:Gretelai Gretel synthetics ACTGAN Init
| Knowledge Sources | |
|---|---|
| Domains | Synthetic_Data, GAN, Tabular_Data |
| Last Updated | 2026-02-14 19:00 GMT |
Overview
Concrete tool for constructing and configuring an ACTGAN model instance provided by the gretel-synthetics library.
Description
The ACTGAN.__init__ method creates a fully configured ACTGAN model by accepting metadata-level parameters (field names, field types, field transformers, primary key, constraints, table metadata), architecture parameters (embedding dimension, generator and discriminator layer sizes), optimizer parameters (learning rates, weight decay), training parameters (batch size, epochs, PAC size, discriminator steps), conditional generation parameters (conditional vector type, column selection probability, reconstruction loss coefficient, force conditioning), and data transformation parameters (binary encoder cutoff, cluster-based normalizer sample size, automatic datetime detection). It delegates metadata handling to the SDV BaseTabularModel superclass and stores all GAN-specific hyperparameters in the _model_kwargs dictionary for later use when building the underlying ACTGANSynthesizer.
Usage
Call ACTGAN(...) with desired hyperparameters before calling fit(). Sensible defaults are provided for all parameters: embedding_dim=128, generator_dim=(256,256), discriminator_dim=(256,256), batch_size=500, epochs=300, pac=10.
Code Reference
Source Location
- Repository: gretel-synthetics
- File:
src/gretel_synthetics/actgan/actgan_wrapper.py - Lines: 338-413
Signature
class ACTGAN(_ACTGANModel):
_MODEL_CLASS = ACTGANSynthesizer
def __init__(
self,
field_names: Optional[List[str]] = None,
field_types: Optional[Dict[str, dict]] = None,
field_transformers: Optional[Dict[str, Union[BaseTransformer, str]]] = None,
auto_transform_datetimes: bool = False,
anonymize_fields: Optional[Dict[str, str]] = None,
primary_key: Optional[str] = None,
constraints: Optional[Union[List[Constraint], List[dict]]] = None,
table_metadata: Optional[Union[Metadata, dict]] = None,
embedding_dim: int = 128,
generator_dim: Sequence[int] = (256, 256),
discriminator_dim: Sequence[int] = (256, 256),
generator_lr: float = 2e-4,
generator_decay: float = 1e-6,
discriminator_lr: float = 2e-4,
discriminator_decay: float = 1e-6,
batch_size: int = 500,
discriminator_steps: int = 1,
binary_encoder_cutoff: int = 500,
binary_encoder_nan_handler: Optional[str] = None,
cbn_sample_size: Optional[int] = 250_000,
log_frequency: bool = True,
verbose: bool = False,
epochs: int = 300,
epoch_callback: Optional[Callable[[EpochInfo], None]] = None,
pac: int = 10,
cuda: bool = True,
learn_rounding_scheme: bool = True,
enforce_min_max_values: bool = True,
conditional_vector_type: ConditionalVectorType = ConditionalVectorType.SINGLE_DISCRETE,
conditional_select_mean_columns: Optional[float] = None,
conditional_select_column_prob: Optional[float] = None,
reconstruction_loss_coef: float = 1.0,
force_conditioning: bool = False,
):
Import
from gretel_synthetics.actgan.actgan_wrapper import ACTGAN
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| field_names | Optional[List[str]] |
No | List of column names to model. If None, all columns in the data are used. |
| field_types | Optional[Dict[str, dict]] |
No | Dictionary specifying SDV-compatible data types and subtypes per field. |
| field_transformers | Optional[Dict[str, Union[BaseTransformer, str]]] |
No | Dictionary specifying which RDT transformers to use per field. |
| auto_transform_datetimes | bool |
No | If True, auto-detect datetime columns and convert them to Unix timestamps before fitting. Default: False. |
| embedding_dim | int |
No | Size of the random noise vector passed to the generator. Default: 128. |
| generator_dim | Sequence[int] |
No | Tuple of output sizes for each generator residual layer. Default: (256, 256). |
| discriminator_dim | Sequence[int] |
No | Tuple of output sizes for each discriminator linear layer. Default: (256, 256). |
| generator_lr | float |
No | Learning rate for the generator Adam optimizer. Default: 2e-4. |
| discriminator_lr | float |
No | Learning rate for the discriminator Adam optimizer. Default: 2e-4. |
| batch_size | int |
No | Number of data samples per training step. Must be divisible by 2 and pac. Default: 500. |
| epochs | int |
No | Number of training epochs. Default: 300. |
| pac | int |
No | Number of samples grouped for the discriminator (packing). Default: 10. |
| cuda | bool |
No | Whether to use CUDA for GPU computation. Default: True. |
| conditional_vector_type | ConditionalVectorType |
No | Type of conditional vector: SINGLE_DISCRETE or ANYWAY. Default: SINGLE_DISCRETE. |
| epoch_callback | Optional[Callable[[EpochInfo], None]] |
No | Optional callable invoked after each epoch with an EpochInfo instance. |
| force_conditioning | bool |
No | If True, directly set conditioned column values in generated data. Default: False. |
Outputs
| Name | Type | Description |
|---|---|---|
| (instance) | ACTGAN |
A fully configured ACTGAN model ready for fitting with .fit(data).
|
Usage Examples
Basic Example
from gretel_synthetics.actgan.actgan_wrapper import ACTGAN
# Create an ACTGAN model with default hyperparameters
model = ACTGAN(
epochs=100,
verbose=True,
cuda=True,
)
Advanced Example with Conditional Generation
from gretel_synthetics.actgan.actgan_wrapper import ACTGAN
from gretel_synthetics.actgan.structures import ConditionalVectorType
model = ACTGAN(
embedding_dim=256,
generator_dim=(512, 512),
discriminator_dim=(512, 512),
batch_size=1000,
epochs=200,
pac=10,
conditional_vector_type=ConditionalVectorType.ANYWAY,
conditional_select_mean_columns=2.0,
reconstruction_loss_coef=2.0,
auto_transform_datetimes=True,
verbose=True,
)
Related Pages
Implements Principle
Requires Environment
- Environment:Gretelai_Gretel_synthetics_PyTorch_CUDA_Environment
- Environment:Gretelai_Gretel_synthetics_Python_Base_Environment