Skip to content

v0.8.1

Latest

Choose a tag to compare

@danny-mio danny-mio released this 03 Apr 20:21
Immutable release. Only release title and notes can be modified.
v0.8.1
eebd1ee

What's new

Added

  • fluxflow[mlx]: Native Apple Silicon inference via MLX — no PyTorch required.
    pip install fluxflow[mlx] then from fluxflow.mlx import FluxFlowPipelineMLX.
    Includes .safetensors → .npz weight converter (original never modified), MLX re-implementations of all core layers (Bezier activations, SPADE, FiLM, VAE decoder), and an mlx_forward bridge for gradient-free hybrid MPS+MLX routing.
  • fluxflow.utils.mps.mps_safe_pool2d: MPS-safe adaptive pooling replacing ad-hoc try/except patterns.

Fixed

  • Bezier JIT disabled on MPS — torch.jit.script was silently falling back to CPU; pure-PyTorch path used instead.
  • torch.mps.empty_cache() added alongside CUDA cache clearing in VAETrainer and FlowTrainer.
  • MLX BezierActivation channel grouping corrected — consecutive 5-channel blocks now map to [t, p0, p1, p2, p3], matching PyTorch.
  • MLX pipeline NPZ cache invalidated by mtime — stale .npz files are regenerated when the source checkpoint changes.
  • DistilBertConfig mypy call-arg errors resolved (newer transformers type stubs).
  • Security: requests>=2.33.0 and Pygments>=2.20.0 floor constraints (Dependabot CVEs).
  • permissions: contents: read added to docs-check workflow (code scanning alert).

Changed

  • SPADE beta-only conditioning (v060 & v070): Removed multiplicative gamma path. Under MSE/L1 loss, gamma was collapsing toward zero, causing blurry reconstructions. Additive-only design preserves sharpness. Checkpoints with mlp_gamma.* keys load cleanly via strict=False.

Removed

  • Dead context_mixer submodule from FluxExpander (v060 & v070) — was instantiated but never called. No checkpoint keys affected.