Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Gretelai Gretel synthetics ACTGAN Init

From Leeroopedia
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

Uses Heuristic

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment