You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@
24
24
## Why DeepTab?
25
25
26
26
-**Familiar interface.** A scikit-learn `fit`/`predict`/`evaluate` API that drops into existing pipelines, including `GridSearchCV`.
27
-
-**Automatic preprocessing.** Feature-type detection, encoding, scaling, and missing-value handling are built in.
27
+
-**Automatic preprocessing.** Feature-type detection, encoding, scaling, and missing-value handling are powered by [PreTab](https://github.com/OpenTabular/PreTab) and applied for you.
28
28
-**One model, three tasks.** Every architecture ships as a classifier, a regressor, and a distributional (`LSS`) variant for uncertainty quantification.
29
29
-**A broad model zoo.** 15 stable architectures plus experimental models, all behind the same interface, with [selection guidance](https://deeptab.readthedocs.io/en/latest/model_zoo/index.html).
30
30
-**Built for real data.** Mixed feature types, class imbalance, GPU acceleration, and early stopping work out of the box.
Copy file name to clipboardExpand all lines: docs/core_concepts/config_system.md
+33-1Lines changed: 33 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
DeepTab uses a split-config API. Architecture, preprocessing, and training settings are kept in separate dataclasses so experiments can change one layer without mixing concerns.
4
4
5
5
```{important}
6
-
The model constructor accepts `model_config`, `preprocessing_config`, and `trainer_config`. Flat constructor arguments are legacy compatibility only; new documentation and experiments should use split configs.
6
+
The model constructor accepts `model_config`, `preprocessing_config`, and `trainer_config`. All settings must go through these config objects; the flat constructor arguments from v1 are no longer accepted and raise a `TypeError`.
7
7
```
8
8
9
9
## The Three Config Layers
@@ -16,6 +16,38 @@ The model constructor accepts `model_config`, `preprocessing_config`, and `train
16
16
17
17
All three are optional. If omitted, DeepTab creates default config objects internally.
18
18
19
+
### Moving from v1
20
+
21
+
In v1, architecture, preprocessing, and training options were all passed as flat keyword arguments on the estimator. In v2 those same options live in three dedicated config objects. The estimator call is the only thing that changes; `fit`, `predict`, and `evaluate` behave exactly as before.
22
+
23
+
```python
24
+
# v1: every option flat on the estimator
25
+
from deeptab.models import MambularClassifier
26
+
27
+
model = MambularClassifier(
28
+
d_model=128,
29
+
n_layers=4,
30
+
numerical_preprocessing="ple",
31
+
lr=1e-3,
32
+
)
33
+
```
34
+
35
+
```python
36
+
# v2: options grouped by concern
37
+
from deeptab.models import MambularClassifier
38
+
from deeptab.configs import MambularConfig, PreprocessingConfig, TrainerConfig
Each option moves to the config that owns its concern: architecture fields go to the model config, anything passed to `pretab.Preprocessor` goes to `PreprocessingConfig`, and training or optimizer fields go to `TrainerConfig`. The tables further down list which fields belong where.
49
+
```
50
+
19
51
### Where to find every field
20
52
21
53
Each config has a complete, authoritative field reference. Use the table below as the index.
-**Familiar interface.** A scikit-learn `fit`/`predict`/`evaluate` API that drops into existing pipelines, including `GridSearchCV`.
18
-
-**Automatic preprocessing.** Feature-type detection, encoding, scaling, and missing-value handling are built in.
18
+
-**Automatic preprocessing.** Feature-type detection, encoding, scaling, and missing-value handling are powered by [PreTab](https://github.com/OpenTabular/PreTab) and applied for you.
19
19
-**One model, three tasks.** Every architecture ships as a classifier, a regressor, and a distributional (`LSS`) variant for uncertainty quantification.
20
20
-**A broad model zoo.** 15 stable architectures plus experimental models, all behind the same interface, with [selection guidance](model_zoo/comparison_tables).
21
21
-**Built for real data.** Mixed feature types, class imbalance, GPU acceleration, and early stopping work out of the box.
@@ -30,7 +30,7 @@ DeepTab requires Python 3.10+ and installs PyTorch automatically. See [Installat
30
30
31
31
## What's New in v2.0
32
32
33
-
v2.0 is a ground-up restructuring of DeepTab. The high-level estimator API stays familiar, while the package layout, configuration objects, and import paths have moved.
33
+
v2.0 is a ground-up restructuring of DeepTab. The high-level estimator API stays familiar, while the package layout, configuration objects, and import paths have been updated.
34
34
35
35
-**Split-config API**: separate model, preprocessing, and training configuration objects, so each concern can be tuned on its own. This is the first thing you reach for in v2.
36
36
-**New models**: AutoInt, ENODE, and TabR (stable); Tangos, Trompt, and ModernNCA (experimental).
@@ -44,7 +44,49 @@ v2.0 is a ground-up restructuring of DeepTab. The high-level estimator API stays
44
44
-**Rebuilt docs and tutorials**: refreshed guides plus end-to-end, Colab-ready tutorials for [classification](tutorials/imbalance_classification), [regression](tutorials/skewed_regression), and [uncertainty quantification](tutorials/uncertainty_quantification).
45
45
46
46
```{warning}
47
-
Upgrading from v1 requires changes. Packages were reorganised, the `Default<Arch>Config` classes were renamed to `<Arch>Config`, and the data modules became `TabularDataModule` / `TabularDataset`. See the [FAQ](getting_started/faq) for v1 support and upgrade notes.
47
+
**v2.0 is not backward compatible with v1, and v1 is no longer maintained.** Three
48
+
things changed that affect existing code:
49
+
50
+
1. **Import paths** were reorganised under the `deeptab` namespace.
51
+
2. **Config classes** lost their `Default` prefix, so `DefaultMambularConfig` is now
52
+
`MambularConfig`. Settings are also split across `MambularConfig` (architecture),
53
+
`PreprocessingConfig` (feature handling), and `TrainerConfig` (optimisation).
54
+
3. **Data modules** were renamed to `TabularDataModule` and `TabularDataset`; the old
55
+
`Mambular*` aliases are deprecated.
56
+
57
+
If you need to stay on v1 for now, pin `deeptab<2.0`. Note that the v1 branch receives
58
+
no bug fixes or security updates. See the [FAQ](getting_started/faq) for the full
59
+
support policy and migration notes.
60
+
```
61
+
62
+
The high-level `fit`/`predict`/`evaluate` workflow is unchanged. In most cases only
63
+
the imports and config construction need updating:
64
+
65
+
```python
66
+
# v1: settings passed as flat keyword arguments on the estimator
67
+
from deeptab.models import MambularClassifier
68
+
69
+
model = MambularClassifier(d_model=128, n_layers=4, numerical_preprocessing="ple")
70
+
model.fit(X_train, y_train, max_epochs=50)
71
+
```
72
+
73
+
```python
74
+
# v2: settings grouped into focused config objects
75
+
from deeptab.models import MambularClassifier
76
+
from deeptab.configs import MambularConfig, PreprocessingConfig
-[Model Promotion Policy](developer_guide/model_promotion_policy): From experimental to stable
116
-
-[Support Matrix](developer_guide/support_matrix): Supported Python and PyTorch versions
104
+
```{note}
105
+
These are starting points for each area. The sidebar navigation is the source of
106
+
truth, so please review the individual documentation sections for the latest
107
+
updates and further documentation.
108
+
```
109
+
110
+
-**Getting Started**: Begin with the [Overview](getting_started/overview) and [Quickstart](getting_started/quickstart), then see [Installation](getting_started/installation) for GPU setup.
111
+
-**Core Concepts**: How DeepTab works, including the [sklearn API](core_concepts/sklearn_api), the [Config System](core_concepts/config_system), and [Training and Evaluation](core_concepts/training_and_evaluation).
112
+
-**Tutorials**: End-to-end, Colab-ready walkthroughs for [regression](tutorials/skewed_regression), [classification](tutorials/imbalance_classification), and [uncertainty quantification](tutorials/uncertainty_quantification).
113
+
-**Model Zoo**: Browse the [Stable Models](model_zoo/stable/index) and [Experimental Models](model_zoo/experimental/index), or use the [Comparison Tables](model_zoo/comparison_tables) for selection guidance.
114
+
-**API Reference**: Full reference for [Models](api/models/index), [Configs](api/configs/index), and the rest of the public API.
115
+
-**Developer Guide**: [Contributing](developer_guide/contributing), [Testing](developer_guide/testing), and the [Release Process](developer_guide/release) for maintainers.
0 commit comments