DA3Mono-LARGE · CoreAI (.aimodel)

DA3Mono-LARGE monocular depth estimation, converted to Apple's CoreAI .aimodel format (macOS 27 / iOS 27+, device only — no simulator).

Converted with coreai_torch 0.4.2 / torch 2.14 via torch.export → run_decompositions → TorchConverter → optimize → save_asset. fp32, unquantized, 1.2 GB.

IO contract

  • Function: main
  • Input: image — float32 [1, 3, 504, 504], ImageNet-normalized planar RGB (normalization is caller-side)
  • Outputs: depth float32 [504, 504] (relative z-depth, larger = farther), sky float32 [504, 504] (sky activation)

Validation

  • Parity vs CoreML fp32 reference (same weights, same input): max abs err 1.25e-05, median relative err 1.46e-07
  • Latency (M-series Mac, 504², p50): CoreAI fp32 96–263 ms vs CoreML fp32 100 ms / int8 297 ms depending on app integration overhead
  • Zero missing operators (21 aten op kinds / 957 nodes accepted)

Usage (Swift)

import CoreAI

let model = try await AIModel(
    contentsOf: url,
    options: SpecializationOptions(preferredComputeUnitKind: .neuralEngine) // or .gpu / .default
)
guard let f = try model.loadFunction(named: "main") else { … }
let input = NDArray(scalars: pixels, shape: [1, 3, 504, 504])
var outputs = try await f.run(inputs: ["image": input])
let depth = outputs.remove("depth")?.ndArray

Note: with the fp32 build, preferredComputeUnitKind is a preference — benchmarked auto / .gpu / .neuralEngine all land within noise of each other (the model runs on GPU). An fp16/quantized export is needed to actually benefit from ANE.

Files

  • da3mono.aimodel/ — the model bundle (main.mlirb + main.hash + metadata.json)
  • recipe.toml — full conversion recipe (sources, versions, validation)

Consumers

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support