| --- |
| base_model: stabilityai/stable-diffusion-3-medium |
| pipeline_tag: text-to-image |
| library_name: coreml |
| tags: |
| - coreml |
| - ios |
| - iphone |
| - ane |
| - stable-diffusion-3 |
| - mobile-diffusion |
| --- |
| |
| # MobileDiffuser SD3 Medium Core ML Models |
|
|
| <p> |
| <img src="assets/showcase-collage.png" alt="Actual MobileDiffuser SD3 Medium 4-step local generation samples"> |
| </p> |
|
|
| This repository contains the Core ML model bundle used by MobileDiffuser for |
| on-device Stable Diffusion 3 Medium inference on iPhone. |
|
|
| ## Contents |
|
|
| - `coremlsd3_2step/`: SD3 Medium two-step Core ML resources. |
| - `coremlsd3_4step/`: SD3 Medium four-step Core ML resources. |
| - `checkpoints/sd3-medium-2step.safetensors`: source two-step distilled |
| checkpoint used to build the two-step Core ML bundle. |
| - `checkpoints/sd3-medium-4step.safetensors`: source four-step distilled |
| checkpoint used to build the four-step Core ML bundle. |
|
|
| Each bundle is organized for MobileDiffuser's split MMDiT runtime: |
|
|
| - `TextEncoder.mlmodelc` |
| - `TextEncoder2.mlmodelc` |
| - `MultiModalDiffusionTransformerConditioning.mlmodelc` |
| - `MultiModalDiffusionTransformerStage*.mlmodelc` |
| - `VAEDecoder.mlmodelc` |
|
|
| The MMDiT model is split into multiple ANE-friendly stages to reduce live |
| activation pressure and avoid out-of-memory termination on iPhone 15 Pro class |
| devices. The app loads the selected resource directory and runs either the |
| two-step or four-step scheduler configuration. |
|
|
| ## Usage With MobileDiffuser |
|
|
| Clone this repository next to the MobileDiffuser app repository, or copy the two |
| resource directories into the MobileDiffuser project root: |
|
|
| ```bash |
| cp -R coremlsd3_2step /path/to/MobileDiffuser/ |
| cp -R coremlsd3_4step /path/to/MobileDiffuser/ |
| ``` |
|
|
| Then open `MobileDiffuser.xcodeproj`, make sure both folders are included in the |
| app target resources, configure your signing team, and deploy to device. |
|
|
| ## Git LFS |
|
|
| The model weights are stored with Git LFS. After cloning, run: |
|
|
| ```bash |
| git lfs install |
| git lfs pull |
| ``` |
|
|
| If the `.mlmodelc` directories contain small pointer files instead of real model |
| weights, LFS objects were not pulled successfully. |
|
|
| The `.safetensors` checkpoints are also stored through LFS. They are provided so |
| the Core ML bundles can be reproduced or re-converted with different splitting |
| or quantization settings. |
|
|
| ## Notes |
|
|
| - These resources are intended for 512x512 generation. |
| - The runtime is optimized for `cpuAndNeuralEngine`. |
| - The source training checkpoint is not included here. |
| - Make sure your use of the original SD3 Medium weights complies with the |
| upstream model license. |
|
|