Support for SDV Usage

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.

ScenarioGuidance

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

Upgrading your version should not affect your synthesizer. If this isn't working, please file a bug 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.

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 this Plotly article on how to set renderers and display figures in your preferred IDE.

IDECode

Jupyter Notebook inside Visual Studio Code

fig.show('vscode')

JupyterLab

fig.show('jupyterlab')

Other Issues?

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

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.

Last updated

Copyright (c) 2023, DataCebo, Inc.