Repository navigation
·
8 commits
to fd654a5306b4435e0f8371d40856b62795980697
since this release
[0.18.0] - 2026-10-22
Added
- Support for dictionary and tuple batches in
autotrainer.train(): PyTorch training now natively parses complex batch structures (e.g. HuggingFace datasets yielding{"input_ids": ..., "labels": ...}or multi-input tuples(x1, x2)) viasplit_xy()and forwards them cleanly to model forward methods viarobust_forward(). - DDP
model.no_sync()optimization inautotrainer.accumulate(): Intermediate micro-batches during gradient accumulation now bypass redundant cross-GPU gradient all-reductions usingmodel.no_sync(). An explicitsync: bool | None = Noneparameter on_Accumulator.backward()allows callers to force synchronization on tail micro-batches when dataset lengths are not multiples of accumulation steps. - CI example validation and linting: Added
examples/to GitHub Actions workflow forruff checkandruff format --check, keeping all runnable example scripts strictly linted.
Fixed
- Keras
EarlyStoppingwithout validation data: When training without validation data,autotrainer.train()now setsEarlyStopping(monitor="loss")instead of the defaultval_loss, eliminating noisy runtime warnings and ensuring early stopping triggers reliably. - Scikit-learn 1.8+
LogisticRegressiondeprecation warning: Settingn_jobsonLogisticRegression(and any custom subclasses evaluated via MRO) is now skipped insklearn_backend.prepare(), preventing deprecationFutureWarningwhile preserving multithreading configuration on all other estimators (e.g.,RandomForestClassifier). - Robust batch unpacking in
train(): Replaced hardcoded(xb, yb)unpacking withsplit_xy(batch)across dataloader iterations, preventingValueErroror key-iteration string errors on non-2-tuple dataloaders.