Releases
v0.4.1
Compare
Sorry, something went wrong.
No results found
Inference Pipeline
`predict()` is now a pure low-level method — eval mode and gradient context are the caller's responsibility
`inference_on_waveform()` automatically manages eval mode and restores training state via the new `@eval_mode` decorator
Added `ValueError` for non-1D input in `inference_on_waveform()`
New `utils/decorators.py` with `eval_mode` decorator using `try/finally` for guaranteed state restoration
Evaluator
Fixed O(n²) `np.concatenate` — results now accumulate in lists and are concatenated once after the loop
Replaced `torch.no_grad()` context manager with `@torch.inference_mode()` decorator
Trainer
Decomposed `train()` into `train_step()`, `val_step()`, and `epoch_step()` — users can now build custom training loops around `epoch_step()`
Module Structure
Renamed `dtos/` → `schemas/` and split into `items.py`, `predictions.py`, and `types.py`
`BackboneName` moved to `schemas/types.py` to eliminate circular imports
Fixed backbone registry typo: `monilenet_` → `mobilenet_ `
Suppressed `FutureWarning` from deprecated `weight_norm` in BEATs backbone
Public API
Removed internal names (`AudioClassifierConstructor`, `BackboneConstructor`, `BACKBONES`, `POOLING`) from `all `
`AudioClassifier` and `Backbone` are now the only exported model constructors
CI
Added `publish.yml` workflow for automated PyPI publishing on GitHub release"
You can’t perform that action at this time.