Skip to content

Releases: gretelai/gretel-synthetics

Bugfix

19 Jun 21:41
Compare
Choose a tag to compare

🐛 When generating new lines via Batch mode, passed max_invalid param is now used vs the module default

Bugfix for 0.10.x

18 Jun 20:14
f4f6279
Compare
Choose a tag to compare

🐞 Fix when synthetic Batches are converted back to a DataFrame with a custom field delimiter

DataFrame support and more!

16 Jun 00:14
Compare
Choose a tag to compare

Major changes to Gretel Synthetics including native support for DataFrames and batched column training!

⚙️ Introduce a batch module that allows a DataFrame to be ingested and split into batches of smaller DataFrames where each batch has a subset of the columns of the source DataFrame. This allows training of datasets with several columns while still allowing the preservation of correlations and statistical data. See our Medium Blog for details and our example dataframe_batch Notebook located in the examples directory.

📖 Massive updates to docstrings for the config module. Details for each config parameter.

🤖 Update to generation functionality. If a validator is provided, the gen_lines config option will be used only to count valid lines that are generated. In order to stop run away generation, a max_invalid parameter exists that specifies the maximum number of invalid lines that can be generated. If this number of invalid lines is exceeded, a RunTimeError will be thrown and generation will be halted.

Sentence Piece Updates

03 Jun 21:52
508276d
Compare
Choose a tag to compare

⬆️ Upgraded to latest SetencePiece and added a max_line_len param to the Config options. This allows you to override the default SentencePiece line limit and set a custom one. During our testing, we found that we had to set the limit a few thousand characters higher than the actual line limit. For a line that was 49500 chars long, we had to make the limit about 53000, etc.

PyPI Bug Fix

26 May 15:09
5edeff8
Compare
Choose a tag to compare

🐛 On installation from PIP where setup.py would fail.

📓 Updates to UCI Notebook

Python 3.6 Support

22 May 00:34
Compare
Choose a tag to compare

This update removes the annotations module from being used in order to provide type checks. We also provide Python 3.6 support by using the [3.6] extras option. By default, the package will work on Colab since Colab already installs a back port of dataclasses. So installing on Colab with the extras is not necessary.

Config and generation updates

19 May 18:22
e164132
Compare
Choose a tag to compare

NOTE: This release introduces some new constructs that are NOT backwards compatible with older versions.

⚙️ Configuration Changes:

  • By default, we will not assume any structure in your training text. Lines will be generated without any presumed delimiter between the text. To use a delimiter you must specify the field_delimiter param when constructing your configuration. Our example notebooks have been updated to reflect this.
  • Overwrite protection, if there is already a model and tokenizer in your checkpoint directory, you will receive a RunTimeError when attempting to train a new model that would overwrite the old data. If you wish to keep overwriting (like during rapid model generation / testing), set the overwrite param to True in your configuration. Example notebook has been updated to show this param.

👩‍🍳 Cooking up new data

  • Previously, we would yield a dict when generating a new record. Instead, we will yield a gen_text object. This object has the same data, but you access the various components as attrs of the object, for example if you have a line variable that was emitted from the generator, you can access the raw text by doing line.text
  • If you provided a delimiter during configuration. The gen_text objects are aware of this, and you can get your generated fields by using the values_to_list() method of the object. See our docs for more detail on this object: https://gretel-synthetics.readthedocs.io/en/stable/api/generate.html

👨‍💻 Code cleanup and test updates

RTFD!

10 May 12:15
b3a769e
Compare
Choose a tag to compare

📖 Module docs now available at https://gretel-synthetics.readthedocs.io

🚧 Minor updates to internals to support better documentation

Colaboratory support

30 Apr 19:36
8def903
Compare
Choose a tag to compare

📚 Tutorial and doc improvements

  • Use installed Tensorflow library by default (Colab uses optimized Tensorflow version for TPU)
  • Optionally, install pinned version of Tensorflow with pip install gretel-synthetics[tf]

Improvements and Fixes

30 Apr 17:31
76ac70a
Compare
Choose a tag to compare

👍 Improvements

  • Calculate model perplexity per training epoch (metric for synthetic data set quality)
  • Added progress bar for SentencePiece tokenizer (can take a while on large datasets)
  • Cleaned up logging

📚 Tutorial and doc improvements

  • Automatically save model parameters and training history to model directory
  • Specify save_all_checkpoints config option to save best, or all checkpoints (save disk space)