Releases: OpenTabular/DeepTab
v1.8.0
Release v1.7.0
What's Changed
Highlights
- Improved the testing framework with better cross-platform support.
- Fixed
MambularDatasetlength 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.0rc2to1.7.0.
Bug Fixes
- Fixed
MambularDatasetlength for data with only categorical features by @MaxSchambach in #278. - Merged
1.7.0hotfixes back intomainby @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
- Updated repository/package references as part of the rename cleanup by @ChrisW09 in #282, #289, and #292.
- Merged development cleanup changes by @ChrisW09 in #284, #287, #290, and #293.
Release Preparation
- Prepared release candidate
1.7.0rc1by @mkumar73 in #328. - Finalized release
1.7.0from1.7.0rc2by @mkumar73 in #335.
New Contributors
- @mhabedank made their first contribution in #266.
- @MaxSchambach made their first contribution in #278.
Full Changelog
What's Changed
- Enhanced Testing Framework with Cross-Platform Support by @mhabedank in #266
- Bump urllib3 from 2.3.0 to 2.5.0 by @dependabot[bot] in #273
- Bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #272
- Bump torch from 2.5.1 to 2.7.0 by @dependabot[bot] in #270
- Update pyproject.toml by @ChrisW09 in #274
- Bump aiohttp from 3.11.13 to 3.12.14 by @dependabot[bot] in #276
- Fix
MambularDatasetlength for data with only categorical features by @MaxSchambach in #278 - Feature/rename by @ChrisW09 in #282
- Develop by @ChrisW09 in #284
- Fix GitHub Actions workflow: simplify package installation by @ChrisW09 in #286
- Develop by @ChrisW09 in #287
- Feature/rename by @ChrisW09 in #289
- Develop by @ChrisW09 in #290
- Feature/rename by @ChrisW09 in #292
- Develop by @ChrisW09 in #293
- CI: Conventional commit and semantic release by @mkumar73 in #295
- ci: sync develop post semantic release by @mkumar73 in #296
- feat: conventional commit and semantic release by @mkumar73 in #306
- ci: simplify branching, harden release, update PyPI publishing flow by @mkumar73 in #320
- feat: release update, docs improvements, test added by @mkumar73 in #326
- bump: version 1.6.1 → 1.7.0rc1 by @mkumar73 in #328
- fix: merge 1.7.0 hotfixes into main by @mkumar73 in #334
- bump: version 1.7.0rc2 → 1.7.0 by @mkumar73 in #335
New Contributors
- @mhabedank made their first contribution in #266
- @MaxSchambach made their first contribution in #278
Full Changelog: v1.5.0...v1.7.0
v1.7.0rc2
What's Changed
- Enhanced Testing Framework with Cross-Platform Support by @mhabedank in #266
- Bump urllib3 from 2.3.0 to 2.5.0 by @dependabot[bot] in #273
- Bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #272
- Bump torch from 2.5.1 to 2.7.0 by @dependabot[bot] in #270
- Update pyproject.toml by @ChrisW09 in #274
- Bump aiohttp from 3.11.13 to 3.12.14 by @dependabot[bot] in #276
- Fix
MambularDatasetlength for data with only categorical features by @MaxSchambach in #278 - Feature/rename by @ChrisW09 in #282
- Develop by @ChrisW09 in #284
- Fix GitHub Actions workflow: simplify package installation by @ChrisW09 in #286
- Develop by @ChrisW09 in #287
- Feature/rename by @ChrisW09 in #289
- Develop by @ChrisW09 in #290
- Feature/rename by @ChrisW09 in #292
- Develop by @ChrisW09 in #293
- CI: Conventional commit and semantic release by @mkumar73 in #295
- ci: sync develop post semantic release by @mkumar73 in #296
- feat: conventional commit and semantic release by @mkumar73 in #306
- ci: simplify branching, harden release, update PyPI publishing flow by @mkumar73 in #320
New Contributors
- @mhabedank made their first contribution in #266
- @MaxSchambach made their first contribution in #278
Full Changelog: v1.5.0...v1.7.0rc2
Release v1.5.0
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 ofpretaband provided links for further information.docs/api/preprocessing/Preprocessor.rst: Removed thePreprocessorclass 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.pyandmambular/models/utils/sklearn_parent.py: Changed imports frommambular.preprocessingtopretab.preprocessorand updated related code. [1] [2]
Removal of Deprecated Code:
mambular/preprocessing/basis_expansion.py,mambular/preprocessing/ple_encoding.py, andmambular/preprocessing/__init__.py: Removed old preprocessing classes and methods. [1] [2] [3]
What's Changed
- change readme by @AnFreTh in #255
- TabR integration + compatibility check for PLR embedding with pre-processing types. by @bishnukhadka in #258
- merge master back to develop by @AnFreTh in #259
- Lss fix by @AnFreTh in #260
- v1.5.0 by @mkumar73 in #261
- preprocessor cleanup by @mkumar73 in #262
- v1.5.0 fixed by @mkumar73 in #263
New Contributors
- @bishnukhadka made their first contribution in #258
Full Changelog: v1.4.0...v1.5.0
Release 1.4.0
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
Fix error for binary classification loss function in sklearninterface
Release v1.3.1
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 theTangosmodel, 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 theTangosmodel in the module imports and__all__list.mambular/configs/tangos_config.py: Added configuration class for theTangosmodel with predefined hyperparameters.
Documentation Updates:
README.md: Updated to include the newTangosmodel 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 ofbase_modelwithestimatorto accommodate the newTangosmodel. [1] [2] [3] [4] [5] [6] [7] [8] [9]mambular/base_models/utils/pretraining.py: Replaced instances ofbase_modelwithestimatorto reflect the new model structure. [1] [2] [3] [4]
Configuration Updates:
mambular/configs/__init__.py: AddedDefaultTangosConfigto the module imports and__all__list.mambular/models/__init__.py: IncludedTangosClassifier,TangosLSS, andTangosRegressorin the module imports and__all__list.
v1.3.0
What's Changed in v1.3.0
This Release includes several changes to the mambular package, focusing on refactoring imports and enhancing the functionality of the BaseModel and TaskModel classes. The most important changes include moving BaseModel and TaskModel to a new utils directory, updating import paths accordingly, and adding new methods for pretraining embeddings. Additionally, two new models, Trompt and AutoInt are included in v1.3.0
Refactoring imports:
- Moved
BaseModelandTaskModeltomambular/base_models/utils/and updated import paths in all relevant files. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
Include new models
- New model architectures
TromptandAutoIntare now included into mambular.
Introduce pretrainingoption:
- Added pertaining functionality for all models that use encoders.
Include dilation to 1DConv layers in Mambular/TabulaRNN
- See Issue #182
Enhancements to BaseModel:
- Added new methods for embedding management, including
embedding_parameters,encode_features,get_embedding_state_dict, andload_embedding_state_dict. - Modified the
encodemethod to support gradient computation and shuffling embeddings.
Enhancements to TaskModel:
- Added a new method
pretrain_embeddingsfor pretraining embeddings using contrastive learning. - Introduced helper methods
get_knnandcontrastive_lossto support the new pretraining functionality.
Miscellaneous changes:
- Added print statements for debugging and logging purposes. [1] [2]
- Minor formatting changes for code readability.
Release v1.2.0
Release v1.2.0
This update enhances the preprocessing and embedding layers in the mambular package, introducing several key improvements:
- Feature-Specific Preprocessing: The
Preprocessorclass now includes a feature preprocessing dictionary, enabling different preprocessing strategies for each feature. - Support for Unstructured Data: The model can now handle a combination of tabular features and unstructured data, such as images and text.
- Latent Representation Generation: It is now possible to generate latent representations of the input data, improving downstream modeling and interpretability.
These changes enhance flexibility and extend mambular's capabilities to more diverse data modalities.
Preprocessing improvements:
mambular/preprocessing/preprocessor.py: Addedfeature_preprocessingparameter to allow custom preprocessing techniques for individual columns. Updated thefitmethod to use this parameter for both numerical and categorical features. [1] [2] [3] [4] [5]
Embedding layer updates:
mambular/arch_utils/layer_utils/embedding_layer.py: Modified theforwardmethod to handle different dimensions of categorical embeddings and ensure they are properly processed. [1] [2]
Allow unstructured data as inputs:
mambular/arch_utils/layer_utils/embedding_layer.py: Modified theforwardmethod to handle num_features, cat_features and pre-embedded unstructured data. [1] [2]
Get latent representation of tables
mambular/base_models/basemodel.py: Updated theencodemethod to accept a singledataparameter instead of separatenum_featuresandcat_featuresparameters. [1] [2]
Release v1.1.0
What's Changed
🚀 New Models
- SAINT: Improve neural networks via Row Attention and Contrastive Pre-Training
Continuous improvements and bug fixes
- Deprecated setup.py for pyproject.toml
- Formatting and linting
- Pre-commit hooks
- Documentation update
- Bug fixes
Contributors:
- release update by @mkumar73 in #68
- Doc fix - version bump by @AnFreTh in #174
- Bug fix by @AnFreTh in #176
- SAINT by @AnFreTh in #183
- Saint by @mkumar73 in #185
- Bug fixes, update project setup, formatting and linting by @mkumar73 in #187
- Sparsemax fix by @AnFreTh in #192
- fix input names in sparsemax by @AnFreTh in #193
- Fix A001 and A002 by @mkumar73 in #197
Full Changelog: v1.0.0...v1.1.0