Synthetic Data Vault
GitHubSlackDataCebo
  • Welcome to the SDV!
  • Tutorials
  • Explore SDV
    • SDV Community
    • SDV Enterprise
      • ⭐Compare Features
    • SDV Bundles
      • ❖ AI Connectors
      • ❖ CAG
      • ❖ Differential Privacy
      • ❖ XSynthesizers
  • Single Table Data
    • Data Preparation
      • Loading Data
      • Creating Metadata
    • Modeling
      • Synthesizers
        • GaussianCopulaSynthesizer
        • CTGANSynthesizer
        • TVAESynthesizer
        • ❖ XGCSynthesizer
        • ❖ SegmentSynthesizer
        • * DayZSynthesizer
        • ❖ DPGCSynthesizer
        • ❖ DPGCFlexSynthesizer
        • CopulaGANSynthesizer
      • Customizations
        • Constraints
        • Preprocessing
    • Sampling
      • Sample Realistic Data
      • Conditional Sampling
    • Evaluation
      • Diagnostic
      • Data Quality
      • Visualization
  • Multi Table Data
    • Data Preparation
      • Loading Data
        • Demo Data
        • CSV
        • Excel
        • ❖ AlloyDB
        • ❖ BigQuery
        • ❖ MSSQL
        • ❖ Oracle
        • ❖ Spanner
      • Cleaning Your Data
      • Creating Metadata
    • Modeling
      • Synthesizers
        • * DayZSynthesizer
        • * IndependentSynthesizer
        • HMASynthesizer
        • * HSASynthesizer
      • Customizations
        • Constraints
        • Preprocessing
      • * Performance Estimates
    • Sampling
    • Evaluation
      • Diagnostic
      • Data Quality
      • Visualization
  • Sequential Data
    • Data Preparation
      • Loading Data
      • Cleaning Your Data
      • Creating Metadata
    • Modeling
      • PARSynthesizer
      • Customizations
    • Sampling
      • Sample Realistic Data
      • Conditional Sampling
    • Evaluation
  • Concepts
    • Metadata
      • Sdtypes
      • Metadata API
      • Metadata JSON
    • Constraints
      • Predefined Constraints
        • Positive
        • Negative
        • ScalarInequality
        • ScalarRange
        • FixedIncrements
        • FixedCombinations
        • ❖ FixedNullCombinations
        • ❖ MixedScales
        • OneHotEncoding
        • Inequality
        • Range
        • * ChainedInequality
      • Custom Logic
        • Example: IfTrueThenZero
      • ❖ Constraint Augmented Generation (CAG)
        • ❖ CarryOverColumns
        • ❖ CompositeKey
        • ❖ ForeignToForeignKey
        • ❖ ForeignToPrimaryKeySubset
        • ❖ PrimaryToPrimaryKey
        • ❖ PrimaryToPrimaryKeySubset
        • ❖ SelfReferentialHierarchy
        • ❖ ReferenceTable
        • ❖ UniqueBridgeTable
  • Support
    • Troubleshooting
      • Help with Installation
      • Help with SDV
    • Versioning & Backwards Compatibility Policy
Powered by GitBook

Copyright (c) 2023, DataCebo, Inc.

On this page
  • ConstraintsNotMetError
  • Unable to load & use a previously-saved synthesizer
  • Plotly charts not rendering in VSCode, JupyterLab, etc
  • Other Issues?
  1. Support
  2. Troubleshooting

Help with SDV

PreviousHelp with InstallationNextVersioning & Backwards Compatibility Policy

Last updated 1 year ago

ConstraintsNotMetError

A constraint should describe a rule that is true for every row in your real data. If any rows in the real data violate the rule, the SDV will return a ConstraintsNotMetError. Since the constraint is not true in your real data, the model will not be able to learn it.

If you see this error, you have two options:

  • (recommended) Remove the constraint. This ensures the model learns patterns that exist in the real data. You can always use conditional sampling later to generate synthetic data with specific values.

  • Clean your input dataset. If you remove the violative rows in the real data, then you will be able to apply the constraint with the cleaned data. This is not recommended because even if the synthetic data follows the rule, the model is not truly representative of the original data.

Unable to load & use a previously-saved synthesizer

If you've previously trained and saved an SDV synthesizer, you should be able to load it into SDV in the future for sampling synthetic data. If this isn't working, we recommend checking your Python environment to see if any of the underlying library versions have changed.

Scenario
Guidance

I've upgraded my version of SDV (or other libraries)

I've downgraded my version of SDV (or other libraries)

Downgrading versions is not supported. We recommend creating a new Python environment with the same version of SDV and other libraries.

Latest bug fixes and features will not be available for older synthesizers. If you load in an old synthesizer into the latest version of SDV, that synthesizer may not be able to support all the latest SDV updates. To capture these, we recommend training and saving a new synthesizer on the latest version.

Plotly charts not rendering in VSCode, JupyterLab, etc

In some environments, Plotly charts created by the SDV don't render inline and may instead be saved out to as images to a folder. To force Plotly to render charts inline, we recommend setting the renderer manually when you call fig.show(). We recommend reading on how to set renderers and display figures in your preferred IDE.

IDE
Code

Jupyter Notebook inside Visual Studio Code

fig.show('vscode')

JupyterLab

fig.show('jupyterlab')

Other Issues?

Important! If you are encountering an Error, please provide as much detail as possible to help us replicate it. This includes:

  • A code snippet to help us replicate the problem. The more easily we are able to recreate the error, the faster we can understand what is going wrong.

  • The full stack trace of the code. That is, please copy-paste everything that is printed on your screen as part of the error, including the lines of code.

  • Any other information that will allow us to replicate, especially the metadata you are using as well as any snippets of training data.

Upgrading your version should not affect your synthesizer. If this isn't working, in our GitHub providing more details. Please note that older synthesizers, creating before SDV v1.10.0 may not allow upgrades. In this case, you would need to train and save a new synthesizer on the latest version.

For other problems, please . You can browse existing issues and raise a new one if you cannot find a solution.

this Plotly article
visit our GitHub
please file a bug