🌲 Maple Diffusion:本地Swift实现的Stable Diffusion模型
2026-01-17 09:27:56作者:虞亚竹Luna
Maple Diffusion是一个创新的开源项目,它允许你在macOS和iOS设备上本地运行Stable Diffusion模型,全部采用Swift编程语言,并依赖于苹果的MPSGraph框架,无需Python环境。这个项目旨在提供一个高效的解决方案,在移动设备上进行高质量的图像生成。

在最新的iPhone(如iPhone 13 Pro)上,Maple Diffusion可以大约在1到2分钟内生成一个合理清晰的图像,每步处理时间约为2.3秒。为了在不超出iOS 4GB内存限制的情况下保持性能,该项目内部使用了FP16(NHWC)张量、MPSGraph的操作符融合以及策略性的模型存储交换。
在macOS平台,由于更大的内存容量(约6GB),Maple Diffusion可以达到每步处理少于1秒的速度。

相关项目
- Core ML Stable Diffusion: 苹果官方推荐的Swift中使用CoreML来运行Stable Diffusion的方法。
- Native Diffusion: 基于Maple Diffusion并带有多个改进的Swift包,包括支持图像到图像的转换。
- Waifu Art AI: 一款基于Maple Diffusion代码的iOS/macOS应用程序,专注于创建动漫风格的艺术作品。
- Draw Things: 利用类似的MPSGraph方法实现的Stable Diffusion iOS应用。
设备要求
Maple Diffusion兼容所有的Apple Silicon Mac(如M1、M2等)。由于特定的PR,Intel Macs现在也能够运行。对于iOS设备,至少需要6GB RAM才能保证正常运行,这意味着近期的iPad和iPhone应该可以在启用“增加内存限制”功能后工作(以解锁4GB的应用可使用RAM)。据报道,iPhone 14系列在iOS 16.1稳定版之前存在一些问题,但现在已被解决。
使用方法
要构建并运行Maple Diffusion,请按照以下步骤操作:
- 下载一个Stable Diffusion的PyTorch模型检查点,例如
sd-v1-4.ckpt。 - 克隆此仓库。
- 安装Python和PyTorch(如果尚未安装)。
- 转换PyTorch模型检查点为fp16二进制blob。
- 在Xcode中打开
maple-diffusion项目,选择目标设备。 - (可能仅限iPhone)手动向
maple-diffusion目标添加“增加内存限制”特性。 - 构建并运行项目。
项目特点
- 原生Swift实现:完全使用Swift编写,无需依赖Python环境。
- 高效利用硬件:通过MPSGraph和FP16张量优化,能够在移动设备上实现高性能。
- 可移植性:兼容macOS和iOS设备,支持多种Apple设备。
- 易于部署:提供了详细的使用说明,便于开发者和用户快速上手。
Maple Diffusion是一个极富创新的项目,将高级人工智能技术带入了移动设备的领域。无论你是开发者还是AI艺术爱好者,都可以借助这个项目在本地生成惊人的图像,体验人工智能的力量。立即尝试Maple Diffusion,探索无限可能吧!
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0213
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0137
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
468
461
暂无描述
Dockerfile
776
5.08 K
Ascend Extension for PyTorch
Python
756
962
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
873
2.02 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
697
1.4 K
昇腾LLM分布式训练框架
Python
183
230
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
Oohos_react_native
React Native鸿蒙化仓库
C++
361
430