mlboydaisuke commited on
Commit
5a8a986
·
verified ·
1 Parent(s): e2361bd

Add README.md

Browse files
Files changed (1) hide show
  1. README.md +111 -0
README.md ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: mixed-per-model
4
+ license_link: https://huggingface.co/mlboydaisuke/coreml-zoo#licenses
5
+ library_name: coreml
6
+ tags:
7
+ - coreml
8
+ - core-ml
9
+ - ios
10
+ - macos
11
+ - apple
12
+ - on-device
13
+ - model-zoo
14
+ - coremltools
15
+ - mlpackage
16
+ ---
17
+
18
+ # Core ML Models Zoo
19
+
20
+ 31 PyTorch models converted to Core ML (`.mlpackage`) for on-device inference on iPhone, iPad and Mac — detection, segmentation, depth, matting, diffusion, TTS, source separation and more. 6.96 GB of packages in one repo.
21
+
22
+ Every model here has a matching, readable conversion script and — for most of them — a standalone SwiftUI sample app in the [CoreML-Models](https://github.com/john-rocky/CoreML-Models) repo.
23
+
24
+ This repo is also the backing store for the [Models Zoo app](https://apps.apple.com/app/id6762083207) on the App Store, which downloads and runs any of these models on device without writing code. `models.json` is that app's manifest — treat it as machine-owned.
25
+
26
+ ## Models
27
+
28
+ | Model | Task | Packages | Size | License | Upstream |
29
+ |---|---|---:|---:|---|---|
30
+ | [Face Parsing](./faceparsing) | image segmentation | 1 | 47 MB | MIT | [zllrunning/face-parsing.PyTorch](https://github.com/zllrunning/face-parsing.PyTorch) |
31
+ | [MobileSAM](./mobilesam) | mask generation | 1 | 19 MB | Apache-2.0 | [ChaoningZhang/MobileSAM](https://github.com/ChaoningZhang/MobileSAM) |
32
+ | [RMBG-1.4](./rmbg) | image segmentation | 1 | 37 MB | Bria RMBG-1.4 License | [briaai/RMBG-1.4](https://huggingface.co/briaai/RMBG-1.4) |
33
+ | [DDColor Tiny](./ddcolor) | image to image | 1 | 203 MB | Apache-2.0 | [piddnad/DDColor](https://github.com/piddnad/DDColor) |
34
+ | [Pixelization](./pixelization) | image to image | 1 | 35 MB | Research use only | [WuZongWei6/Pixelization](https://github.com/WuZongWei6/Pixelization) |
35
+ | [Real-ESRGAN 4x](./realesrgan) | image to image | 1 | 59 MB | BSD-3-Clause | [xinntao/Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) |
36
+ | [SinSR](./sinsr) | image to image | 3 | 517 MB | CC BY-NC-SA 4.0 | [wyf0912/SinSR](https://github.com/wyf0912/SinSR) |
37
+ | [RF-DETR Nano](./rfdetr) | object detection | 1 | 95 MB | Apache-2.0 | [roboflow/rf-detr](https://github.com/roboflow/rf-detr) |
38
+ | [YOLO-World](./yoloworld) | zero shot object detection | 2 | 134 MB | GPL-3.0 | [AILab-CVC/YOLO-World](https://github.com/AILab-CVC/YOLO-World) |
39
+ | [YOLO11s](./yolov9) | object detection | 1 | 17 MB | AGPL-3.0 | [ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) |
40
+ | [YOLO26s](./yolo26) | object detection | 1 | 17 MB | AGPL-3.0 | [ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) |
41
+ | [YOLOv10n](./yolov10) | object detection | 1 | 4 MB | AGPL-3.0 | [THU-MIG/yolov10](https://github.com/THU-MIG/yolov10) |
42
+ | [Depth Anything 3 Base (504×504)](./depth_anything_v3) | depth estimation | 1 | 173 MB | Apache-2.0 | [ByteDance-Seed/Depth-Anything-3](https://github.com/ByteDance-Seed/Depth-Anything-3) |
43
+ | [Depth Anything 3 Small (504×504)](./depth_anything_v3) | depth estimation | 1 | 44 MB | Apache-2.0 | [ByteDance-Seed/Depth-Anything-3](https://github.com/ByteDance-Seed/Depth-Anything-3) |
44
+ | [MoGe-2 ViT-B (504×504)](./moge2) | depth estimation | 1 | 184 MB | MIT | [microsoft/MoGe](https://github.com/microsoft/MoGe) |
45
+ | [Florence-2](./florence2) | image text to text | 3 | 229 MB | MIT | [microsoft/Florence-2](https://huggingface.co/microsoft/Florence-2-base) |
46
+ | [SigLIP](./siglip) | zero shot image classification | 2 | 358 MB | Apache-2.0 | [google-research/big_vision](https://github.com/google-research/big_vision) |
47
+ | [3DDFA V2](./face3d) | keypoint detection | 1 | 6 MB | MIT | [cleardusk/3DDFA_V2](https://github.com/cleardusk/3DDFA_V2) |
48
+ | [Hyper-SD (1-Step)](./hypersd) | text to image | 4 | 905 MB | OpenRAIL-M | [ByteDance/Hyper-SD](https://huggingface.co/ByteDance/Hyper-SD) |
49
+ | [Nitro-E (4-Step)](./nitroe) | text to image | 3 | 987 MB | MIT (Nitro-E) + Llama 3.2 Community License (text encoder) | [amd/Nitro-E](https://huggingface.co/amd/Nitro-E) |
50
+ | [MatAnyone](./matanyone) | image segmentation | 5 | 83 MB | S-Lab License 1.0 | [pq-yang/MatAnyone](https://github.com/pq-yang/MatAnyone) |
51
+ | [HTDemucs](./demucs) | audio to audio | 1 | 75 MB | MIT | [adefossez/demucs](https://github.com/adefossez/demucs) |
52
+ | [OpenVoice V2](./openvoice) | audio to audio | 2 | 58 MB | MIT | [myshell-ai/OpenVoice](https://github.com/myshell-ai/OpenVoice) |
53
+ | [Pyannote Diarization](./diarization) | voice activity detection | 1 | 5 MB | MIT | [pyannote/pyannote-audio](https://github.com/pyannote/pyannote-audio) |
54
+ | [Kokoro-82M](./kokoro) | text to speech | 4 | 724 MB | Apache-2.0 | [hexgrad/Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) |
55
+ | [Stable Audio Open](./stableaudio) | text to audio | 4 | 1.41 GB | Stability AI Community License | [stabilityai/stable-audio-open-small](https://huggingface.co/stabilityai/stable-audio-open-small) |
56
+ | [LaMa](./lama) | image to image | 1 | 187 MB | Apache-2.0 | [advimman/lama](https://github.com/advimman/lama) |
57
+ | [GFPGAN](./gfpgan) | image to image | 1 | 298 MB | Apache-2.0 | [TencentARC/GFPGAN](https://github.com/TencentARC/GFPGAN) |
58
+ | [AdaFace IR-18](./adaface) † | face recognition | 1 | 42 MB | MIT | [mk-minchul/AdaFace](https://github.com/mk-minchul/AdaFace) |
59
+ | [EfficientAD (MVTec bottle)](./efficientad) † | anomaly detection | 1 | 14 MB | MIT | [openvinotoolkit/anomalib](https://github.com/openvinotoolkit/anomalib) |
60
+ | [YOLOE-S](./yoloe) † | zero shot object detection + segmentation | 3 | 133 MB | AGPL-3.0 | [THU-MIG/yoloe](https://github.com/THU-MIG/yoloe) |
61
+
62
+ † Downloadable here, but not yet selectable inside the Models Zoo app — the shipped app build has no UI template for them.
63
+
64
+ ### Also in the Models Zoo app (hosted in separate repos)
65
+
66
+ | Model | Repo |
67
+ |---|---|
68
+ | Gemma 4 E2B | [mlboydaisuke/gemma-4-E2B-coreml](https://huggingface.co/mlboydaisuke/gemma-4-E2B-coreml) |
69
+ | Gemma 4 E4B | [mlboydaisuke/gemma-4-E4B-coreml](https://huggingface.co/mlboydaisuke/gemma-4-E4B-coreml) |
70
+ | Qwen3-VL 2B | [mlboydaisuke/qwen3-vl-2b-coreml](https://huggingface.co/mlboydaisuke/qwen3-vl-2b-coreml) |
71
+ | Qwen3.5 0.8B | [mlboydaisuke/qwen3.5-0.8B-CoreML](https://huggingface.co/mlboydaisuke/qwen3.5-0.8B-CoreML) |
72
+ | Qwen3.5 2B | [mlboydaisuke/qwen3.5-2B-CoreML](https://huggingface.co/mlboydaisuke/qwen3.5-2B-CoreML) |
73
+
74
+ ## Download
75
+
76
+ Each model lives in its own directory and ships as a zipped `.mlpackage`.
77
+
78
+ ```bash
79
+ hf download mlboydaisuke/coreml-zoo --include "moge2/*" --local-dir ./moge2
80
+ unzip './moge2/moge2/*.zip' -d ./moge2
81
+ ```
82
+
83
+ ```bash
84
+ # everything (large)
85
+ hf download mlboydaisuke/coreml-zoo --local-dir ./coreml-zoo
86
+ ```
87
+
88
+ ## Use in Swift
89
+
90
+ ```swift
91
+ import CoreML
92
+
93
+ let config = MLModelConfiguration()
94
+ config.computeUnits = .cpuAndNeuralEngine // see each model's card
95
+
96
+ let compiled = try await MLModel.compileModel(at: mlpackageURL)
97
+ let model = try MLModel(contentsOf: compiled, configuration: config)
98
+ ```
99
+
100
+ Two things that bite on real devices, both documented per model in [`docs/coreml_conversion_notes.md`](https://github.com/john-rocky/CoreML-Models/blob/master/docs/coreml_conversion_notes.md):
101
+
102
+ 1. **Compute units are load-bearing.** Several models are converted for a specific backend (FP32 + `.cpuOnly` where FP16 attention overflows, `.cpuOnly` where the iOS GPU hits the MPS singleton-slice bug). Switching them is not free.
103
+ 2. **`MLMultiArray.dataPointer` is not contiguous on the Neural Engine.** ANE pads rows for SIMD alignment — always read through `array.strides`.
104
+
105
+ ## Licenses
106
+
107
+ Licenses are **per model** and inherited from upstream. Several are non-commercial (MatAnyone: S-Lab 1.0, SinSR: CC BY-NC-SA 4.0, RMBG-1.4: Bria RMBG license, Pixelization: research use only) and the YOLO models are AGPL-3.0 / GPL-3.0. Check the table above and the upstream repo before shipping anything commercially.
108
+
109
+ ## Credits
110
+
111
+ Conversions by john-rocky (Daisuke Majima). Upstream authors are credited per model above.