Skip to content

Releases: OpenTabular/DeepTab

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 03:00
4e6a359

DeepTab v2.0.0

DeepTab v2 is a major release. The whole package has been reorganized around a clean, sklearn-compatible split-config API, with a new internal layout, typed configuration objects, richer training and observability hooks, and a lightweight inference and serialization story.

If you are new to DeepTab, this is a great place to start. If you are coming from v1, please read the breaking change note below before you upgrade.

⚠️ Breaking change
The internal package layout, configuration objects, and import paths have all changed. Code written for v1 will not run unchanged. The Migration Guide walks you through every rename step by step.

Highlights

  • Split-config API. Models are now configured through dedicated <Model>Config, PreprocessingConfig, and TrainerConfig objects instead of one long list of keyword arguments. Each config has a single, clear responsibility, so it is easier to read, reuse, and validate.
  • New package structure. The library is split into clear modules: core, nn, architectures, configs, data, training, metrics, distributions, and hpo, each with its own public API.
  • Stable and experimental split. Stable models are exported directly. Experimental models (ModernNCA, Tangos, Trompt) sit behind a lazy boundary so you always know what is production ready and what is still maturing.
  • Lightweight inference wrapper. Save and load trained models through the .deeptab format, complete with rich serialization metadata for reproducible deployment.
  • Observability. A new ObservabilityConfig is threaded through every estimator, with built-in support for experiment trackers.

New Features

  • Optimizer and scheduler registry covering every torch.optim class, wired into both the Lightning module and TrainerConfig.
  • A new deeptab.metrics registry for classification, regression, and distributional tasks that powers evaluate().
  • More distributions, including Tweedie, inflated Poisson, and log-normal.
  • Class-imbalance loss registry with weighted sampling.
  • Model inspection API with a profile() dry run for pre-training diagnostics and read-only task_model access.
  • Reproducibility helpers set_seed and seed_context.
  • A typed exception hierarchy with sklearn-compatible error types.
  • print_hardware_info for quick CPU, CUDA, and MPS detection.

Note for researchers
The metrics, distributions, and reproducibility helpers are designed to make experiments easier to seed, audit, and compare across runs.

Notable Fixes

  • Stronger sklearn compatibility through check_is_fitted, __sklearn_is_fitted__, dataframe coercion, and ValueError-based error types.
  • Transformer attention now uses batch_first to prevent cross-sample leakage.
  • Custom torchmetrics are registered through nn.ModuleDict so their state moves with the model to the correct device.
  • Distribution parameter transforms are applied before metric computation.
  • DataLoader and sampler generators are now seeded for reproducible runs.

Migration

Every renamed config, import path, and the new save, load, and serve flow are documented in the Migration Guide. For the complete list of changes, see the CHANGELOG.md.

Pull Requests

Full Changelog: v1.8.0...v2.0.0

v2.0.0rc2

Choose a tag to compare

@github-actions github-actions released this 22 Jun 21:01

Full Changelog: v2.0.0rc1...v2.0.0rc2

Full Changelog: v2.0.0rc1...v2.0.0rc2

v2.0.0rc1

v2.0.0rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Jun 07:05

What's Changed

  • feat!: v2 release include split-config API, experimental models, and docs overhaul by @mkumar73 in #400

Full Changelog: v1.8.0...v2.0.0rc1

What's Changed

  • feat!: v2 release include split-config API, experimental models, and docs overhaul by @mkumar73 in #400

Full Changelog: v1.8.0...v2.0.0rc1

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 24 May 09:18
56763ea

What's Changed

Full Changelog: v1.7.0...v1.8.0

Release v1.7.0

Choose a tag to compare

@mkumar73 mkumar73 released this 14 May 11:41
7539961

What's Changed

Highlights

  • Improved the testing framework with better cross-platform support.
  • Fixed MambularDataset length handling for datasets with only categorical features.
  • Simplified CI/CD and release workflows.
  • Updated release process with improved PyPI publishing flow.
  • Added documentation improvements and additional tests.
  • Completed the final release bump from 1.7.0rc2 to 1.7.0.

Bug Fixes

  • Fixed MambularDataset length for data with only categorical features by @MaxSchambach in #278.
  • Merged 1.7.0 hotfixes back into main by @mkumar73 in #334.

CI/CD and Release Improvements

  • Added conventional commit and semantic release setup by @mkumar73 in #295.
  • Simplified branching, hardened release workflow, and updated PyPI publishing flow by @mkumar73 in #320.
  • Fixed GitHub Actions workflow by simplifying package installation by @ChrisW09 in #286.
  • Synced development branch after semantic release by @mkumar73 in #296.

Documentation, Testing, and Maintenance

  • Enhanced testing framework with cross-platform support by @mhabedank in #266.
  • Added release updates, documentation improvements, and tests by @mkumar73 in #326.
  • Updated project configuration by @ChrisW09 in #274.

Repository Rename and Cleanup

Release Preparation

New Contributors

Full Changelog

v1.5.0...v1.7.0

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.7.0

v1.7.0rc2

v1.7.0rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 May 22:22

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.7.0rc2

Release v1.5.0

Choose a tag to compare

@mkumar73 mkumar73 released this 14 Apr 22:09
28b5456

This release includes significant updates to the mambular package, focusing on integrating the pretab library for preprocessing, updating the version, and removing deprecated preprocessing modules. The most important changes include updating the documentation, modifying imports to use pretab, and removing old preprocessing code.

Documentation Updates:

  • README.md: Updated preprocessing section to mention the use of pretab and provided links for further information.
  • docs/api/preprocessing/Preprocessor.rst: Removed the Preprocessor class documentation.
  • docs/api/preprocessing/index.rst: Removed the preprocessing module documentation.

Codebase Updates:

  • mambular/__version__.py: Updated the version from 1.4.0 to 1.5.0.
  • mambular/models/utils/sklearn_base_lss.py and mambular/models/utils/sklearn_parent.py: Changed imports from mambular.preprocessing to pretab.preprocessor and updated related code. [1] [2]

Removal of Deprecated Code:

  • mambular/preprocessing/basis_expansion.py, mambular/preprocessing/ple_encoding.py, and mambular/preprocessing/__init__.py: Removed old preprocessing classes and methods. [1] [2] [3]

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

Release 1.4.0

Choose a tag to compare

@AnFreTh AnFreTh released this 24 Mar 11:01
5db5426

What's Changed

  • Hotfix/docs by @mkumar73 in #247
  • Modernnca by @AnFreTh in #251
    * Added MonderNCA and complete logic of using labels during training and inference into helper classes.
  • Data check by @AnFreTh in #252
    * Introduced sanity checks in preprocessor module.
  • Develop by @AnFreTh in #253

Full Changelog: v1.3.2...v1.4.0

Release 3.1.2

Choose a tag to compare

@AnFreTh AnFreTh released this 19 Mar 17:40
0d7be4a

Fix error for binary classification loss function in sklearninterface

Release v1.3.1

Choose a tag to compare

@AnFreTh AnFreTh released this 17 Mar 12:48
01a7212

This release (v1.3.1) introduces the new Tangos model to the Mambular library, along with updates to the documentation, versioning, and configuration files. The most important changes include adding the Tangos model, updating the version number, and modifying the lightning_wrapper.py and pretraining.py files to use the new model.

New Model Addition:

  • mambular/base_models/tangos.py: Added the Tangos model, which is an MLP model with optional GLU activation, batch normalization, layer normalization, and dropout, including a penalty term for specialization and orthogonality.
  • mambular/base_models/__init__.py: Included the Tangos model in the module imports and __all__ list.
  • mambular/configs/tangos_config.py: Added configuration class for the Tangos model with predefined hyperparameters.

Documentation Updates:

  • README.md: Updated to include the new Tangos model in the list of new models and added a description of the model. [1] [2]

Version Update:

  • mambular/__version__.py: Incremented the version number from 1.3.0 to 1.3.1 to reflect the new changes.

Code Refactoring:

  • mambular/base_models/utils/lightning_wrapper.py: Replaced instances of base_model with estimator to accommodate the new Tangos model. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • mambular/base_models/utils/pretraining.py: Replaced instances of base_model with estimator to reflect the new model structure. [1] [2] [3] [4]

Configuration Updates:

  • mambular/configs/__init__.py: Added DefaultTangosConfig to the module imports and __all__ list.
  • mambular/models/__init__.py: Included TangosClassifier, TangosLSS, and TangosRegressor in the module imports and __all__ list.