Dala.ML.ConfigHelper (dala v0.0.4)

Copy Markdown View Source

Helper to configure EMLX dependencies and settings for Dala iOS apps.

Usage:

# In your app's mix.exs:
defp deps do
  [{:dala, github: "elixir-nx/dala"},
   {:nx, github: "elixir-nx/nx"},
   {:axon, "~> 0.6"},
   {:emlx, github: "elixir-nx/emlx", branch: "main"}
  # Optional: for model loading/serialization
  {:axon_onnx, "~> 0.4", optional: true}
end

Quantized Models:

# Download pre-trained quantized models:
# - dalaileNetV2: https://huggingface.co/onnx/models/tree/main/vision/classification/dalailenet/model/unknown/1
# - YOLO Nano: https://github.com/ultralytics/yolov5/releases

# Configure in your app:
config = Dala.ML.ConfigHelper.quantized_model_config()
# => %{models: [...], note: "Download from HuggingFace..."}

Summary

Functions

Returns environment variables for iOS builds.

Prints a copy-pasteable config.exs snippet.

Prints a copy-pasteable mix.exs snippet.

Returns quantized model configuration for iOS.

Returns the recommended config for EMLX on iOS.

Returns the recommended deps for EMLX on iOS.

Functions

build_env_vars()

Returns environment variables for iOS builds.

Add these to your build script or mix.exs make_env.

quantized_model_config()

Returns quantized model configuration for iOS.

Available Models:

  • dalaileNetV2 Quantized: 224x224, 1000 classes, int8, 14MB
  • YOLO Nano Quantized: 416x416, [batch, grid, grid, 3*(5+classes)], int4, 6MB

Download:

Pre-trained models are available from HuggingFace or TensorFlow Hub.