Skip to content

Clarify and possibly require MLX for quality workflows #8

@swernerx

Description

@swernerx

Goal

Decide and implement a clearer MLX product stance: make MLX the expected quality runtime for model-backed Morphēa workflows, while keeping any non-MLX fallback explicitly scoped to portability tests, debugging, or minimal non-model usage.

Why this matters

The code currently treats MLX as optional in packaging and README language, but the high-quality model paths already fail by default when MLX is unavailable. Fallback artifacts only appear when allow_unavailable is explicitly set.

That split creates product ambiguity:

  • users may think MLX is optional for equivalent quality;
  • platform differences may produce different model artifacts or reports;
  • docs understate that the own-model story is strongest when MLX is present;
  • a Mac-first audience may prefer one recommended runtime over broad-but-variable behavior.

Current state

  • morphea train-mlx fails by default without MLX; allow_unavailable writes a centroid fallback artifact only when explicitly requested.
  • morphea train-raster-targets also fails by default without MLX unless allow_unavailable is set.
  • morphea retrain --backend mlx and self-learn --backend mlx already route through the MLX primitive classifier.
  • README and docs still describe MLX as optional.
  • self-learn and retrain default to centroid unless configured otherwise.
  • MLX/SAM segmentation is a separate concern because it also depends on model weights and the mlx-sam runtime.

Proposed direction

Adopt this product stance:

Morphēa can run basic deterministic geometry without MLX, but model-backed quality workflows require MLX. Non-MLX fallbacks are diagnostic, not equivalent quality paths.

Work items

  • Update README and setup docs to present MLX as the recommended/default runtime for serious Morphēa development on Apple Silicon Macs.
  • Decide whether to move mlx>=0.31 from the optional mlx extra into core dependencies, or introduce an explicit quality/dev install profile that all model-backed docs use.
  • Change self-learning/retraining docs and checked-in configs to default to backend: mlx where quality evidence is expected.
  • Consider changing CLI defaults for retrain and self-learn from centroid to mlx, with a clearly named --backend centroid escape hatch.
  • Rename or de-emphasize allow_unavailable so it reads as a diagnostic/testing escape hatch rather than a supported quality mode.
  • Keep MLX/SAM documented separately as an experimental candidate-region source, not a required default, until checkpoint/runtime setup is simpler and promotion evidence proves a consistent quality gain.
  • Add a status/doc section explaining platform expectations: Apple Silicon macOS is the primary target; other platforms may run non-model or reduced workflows unless MLX support is confirmed.

Acceptance criteria

  • A new reader can tell from the README which install path gives the intended model-backed quality behavior.
  • Model-backed smoke configs do not silently pass through non-MLX fallback artifacts.
  • CI/test docs distinguish required quality tests from portability/fallback tests.
  • morphea status or docs clearly reports when the environment is below the intended quality runtime.
  • MLX/SAM remains opt-in until it has the same repeatability and quality evidence as the classifier paths.

References

  • MLX official docs describe MLX as an Apple Silicon-focused machine learning array framework and list macOS / Apple Silicon installation requirements.
  • Current Morphēa MLX training paths already fail by default without MLX unless allow_unavailable is explicitly enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions