Skip to content

v3.0.0 — all-in-one-infer: NATTEN-free, 25% faster, one-click install

Choose a tag to compare

@ChenPaulYu ChenPaulYu released this 11 Jul 14:50
· 16 commits to main since this release

First release under the new name all-in-one-infer (formerly all-in-one-fix; Python package renamed allin1fixallin1_infer — breaking import change, hence the major version).

Highlights

  • NATTEN dependency removed: neighborhood attention reimplemented in pure PyTorch, verified bit-identical to NATTEN 0.17.5 (golden fixtures, layer-level A/B, and end-to-end analyze() comparison on real music — beats/downbeats/segments all exactly equal). Installs with a single pip install on any torch ≥ 2.0 (upper bound lifted), CPU-only machines, macOS/Apple Silicon, and Windows. No C++ toolchain. NATTEN stays available as an optional [natten] extra for fused GPU kernels.
  • ~25% faster inference, bit-identical output: TF32 matmul, parallel ensemble checkpoint downloads, in-memory stem pipeline.
  • Inference-only: training code removed (see upstream mir-aidj/all-in-one for training).
  • Opt-in performance knobs (compile_model, demucs_overlap, demucs_fp16) — default off, accuracy-affecting ones clearly documented.
  • Deep-module refactor + navigation headers throughout; publish workflow gates on tests.

Install

pip install all-in-one-infer
pip install git+https://github.com/CPJKU/madmom   # last remaining extra step (madmom-infer, its pure-Python replacement, is in development)