diff --git a/CHANGELOG.md b/CHANGELOG.md index 2664dac..ccbc64b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,31 @@ Going forward, this file is updated automatically by `cz bump` on each release. --- +## v1.8.0 (2026-05-24) + +### Feat + +- stable/experimental model split, save/load, and bug fixes +- **models**: add save/load, fix get_params and LSS family pickling +- stable and experimental model separation + +### Fix + +- duplicate entry in docs for model classes +- test case fixed for windows +- suppress family hparam warning +- **tabr**: cast candidate_y to float in regression/LSS label encoder path +- **tabr**: use regression label encoder for LSS by forwarding lss flag +- **types**: guard task_model None, use getattr for get_params, annotate test kwargs +- **lint**: drop unused unpacked variables and dead code +- **tabtrans**: add dedicated LayerNorm for numerical features instead of reusing encoder norm +- **ndtf**: correct ensemble aggregation for multi-class and LSS outputs +- added faiss-cpu +- add delu dependency for TabR +- DefaultTabRConfig export +- import error after experimental namespace changes +- resolve stale site-packages + ## v1.7.0 (2026-05-14) ### Documentation diff --git a/deeptab/utils/distributions.py b/deeptab/utils/distributions.py index 7420bb9..6988a21 100644 --- a/deeptab/utils/distributions.py +++ b/deeptab/utils/distributions.py @@ -1,3 +1,5 @@ +from collections.abc import Callable + import numpy as np import torch import torch.distributions as dist @@ -31,7 +33,7 @@ def __init__(self, name, param_names): self.param_names = param_names self.param_count = len(param_names) # Predefined transformation functions accessible to all subclasses - self.predefined_transforms = { + self.predefined_transforms: dict[str, Callable[[torch.Tensor], torch.Tensor]] = { "positive": torch.nn.functional.softplus, "none": lambda x: x, "square": lambda x: x**2, @@ -50,7 +52,9 @@ def name(self): def parameter_count(self): return self.param_count - def get_transform(self, transform_name): + def get_transform( + self, transform_name: str | Callable[[torch.Tensor], torch.Tensor] + ) -> Callable[[torch.Tensor], torch.Tensor]: """ Retrieve a transformation function by name, or return the function if it's custom. """ diff --git a/docs/_static/custom.css b/docs/_static/custom.css index a4fefa1..51afb28 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -228,6 +228,20 @@ html[data-theme="dark"] .highlight .p { color: #e6edf3; } +/* ── Sidebar nav section separators ─────────────────────────────────────── */ +/* All p.caption elements are flat siblings inside a single