Skip to content

benchmark_single_table() doesn't work for variant/custom synthesizers when timeout is set #531

@R-Palazzo

Description

@R-Palazzo

Environment Details

  • SDGym version: 0.12.1

Error Description

benchmark_single_table() returns result rows filled with NaN for custom/variant synthesizers when timeout is set. If timeout is not provided, the benchmark runs properly and we get results and scores for the custom/variant synthesizer.

Custom/variant synthesizers should execute normally even when timeout is provided.

Steps to reproduce

from sdgym import benchmark_single_table
from sdgym import create_synthesizer_variant

gc_variant = create_synthesizer_variant(
  synthesizer_class='GaussianCopulaSynthesizer',
  synthesizer_parameters={'enforce_min_max_values': False},
  display_name='GC_Variant'
)

results_variant = benchmark_single_table(
  synthesizers=['GaussianCopulaSynthesizer'],
  custom_synthesizers = [gc_variant],
  sdv_datasets=['fake_companies'],
  timeout=10
)

Additional context

We should make sure the fix also works for benchmark_multi_table

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions