☰
Mac本地跑FLUX.2文生图:3步导出coreai-models扩散模型到diffusion-runner完全指南
2026/10/8 7:07:44 网站建设 项目流程

Mac本地跑FLUX.2文生图:3步导出coreai-models扩散模型到diffusion-runner完全指南

【免费下载链接】coreai-modelsModel export recipes, Python primitives, and Swift runtime utilities for on-device AI项目地址: https://gitcode.com/gh_mirrors/co/coreai-models

想在 Mac 上本地生成 AI 图片,不用云端、不传隐私数据?coreai-models 正是为此而生:它提供模型导出配方、Python 原语和 Swift 运行时工具,帮你把 FLUX.2 等开源扩散模型导出为 Core AI 格式,直接在 Apple 芯片上跑文生图。本文手把手带新手走完"环境准备 → 模型导出 → 命令行出图"全流程。

coreai-models 是什么?Mac 能跑 FLUX.2 吗?

coreai-models 围绕三块能力构建,详见 README.md:

  • 模型导出:把 Hugging Face 上的开源模型转换为 Core AI 的.aimodel格式
  • Python 原语:用 PyTorch 编写自定义 Core AI 模型的构建块
  • Swift 运行时:基于 Core AI 框架的运行时工具,含命令行出图工具diffusion-runner

FLUX.2(Klein 4B,40 亿参数)已在支持列表中,macOS 和 iOS 均可运行,详见 models/flux2/README.md:

模型参数量macOSiOS
FLUX.2 Klein 4B4B✅✅

💡 原理上,导出后的模型由多个组件按顺序协作:文本编码 → 噪声生成 → 去噪循环(flow-match Euler)→ VAE 解码出图,整条流水线实现在 FlowTransformerPipeline+Flux2.swift。

环境准备:一键安装检查清单

开始之前,确认你的 Mac 满足以下要求:

依赖版本要求用途
macOS27.0+运行 Core AI 模型
Xcode27.0+编译 diffusion-runner
uv最新版运行 Python 导出脚本

安装 uv 只需一条命令:

brew install uv

克隆仓库:

git clone https://gitcode.com/gh_mirrors/co/coreai-models cd coreai-models

第一步:导出 FLUX.2 到 .aimodel 格式

FLUX.2 的导出由 CLI 工具coreai.diffusion.export完成,源码在 python/src/coreai_models/diffusion/export.py。macOS 平台一条命令即可:

uv run coreai.diffusion.export flux2-klein-4b --platform macOS

这条命令背后自动做了几件聪明事(注册表预设见 model_registry.py):

  • 分辨率:macOS 默认 1024×1024
  • 压缩:默认4bit权重量化,float16计算精度——体积和质量平衡的最佳起点
  • 组件:导出 transformer、text_encoder、vae_decoder、vae_encoder 及半分辨率 VAE,出图与图生图都覆盖
  • 输出位置:默认写入仓库根目录的exports/

导出前先"预演":--dry-run

不确定会导出什么?加个--dry-run只打印解析后的配置,不实际导出:

uv run coreai.diffusion.export flux2-klein-4b --dry-run

想换压缩方案?

FLUX.2 支持的压缩预设(none/4bit/4bit-asym/8bit,定义见 presets.py):

# 全精度(不压缩,体积最大、速度最慢) uv run coreai.diffusion.export flux2-klein-4b --compression none

⚠️ 注意:VAE 解码器永远不会被量化,保证出图精度。

第二步:理解 Transformer 打包方式(新手必看)

FLUX.2 的 transformer 有两种导出方式,这是新手最容易困惑的地方:

对比项默认(多功能打包)--single-function
产物单个Transformer.aimodel,运行时任选分辨率每个分辨率/网格一个资产
磁盘占用共约 2 GB每个约 2 GB
峰值内存较高更低

macOS 桌面内存充足,直接用默认方式即可,不需要额外参数。只有 iOS 设备内存紧张时才会强制单函数模式(--platform iOS会自动处理)。

第三步:用 diffusion-runner 命令行出图 🎨

导出完成后,仓库自带 CLI 工具直接出图,源码在 swift/Sources/Tools/diffusion-runner/DiffusionRunnerMain.swift:

swift run -c release diffusion-runner \ --model exports/flux2-klein-4b \ --prompt "a photo of a cat" \ --steps 4 \ --guidance-scale 1.0

运行后终端会逐步打印去噪进度(Step 1/4…),完成后默认保存为output.png,并告诉你耗时。首次编译稍慢(release 模式),之后秒级启动。

参数调优速查表

参数默认值建议
--steps204~8 步即可出好图(FLUX.2 已蒸馏加速),追求细节可拉到 20
--guidance-scale7.5默认即可;配合--guidance-mode manual可增强文字贴合度
--seed42固定种子可复现同一张图
--outputoutput.png自定义输出路径
--decode-resolutionfull内存吃紧时用half或tiled分块解码
--input-image无传入参考图即可切换为图生图模式

💡 工具默认开启lazyModelLoading:各组件按需加载、用完即卸载,有效压低峰值内存。

顺手体验图生图

swift run -c release diffusion-runner \ --model exports/flux2-klein-4b \ --prompt "a cat wearing a hat" \ --input-image cat.png \ --reference-grid half \ --steps 4 --guidance-scale 1.0

--reference-grid控制参考图的细节保留程度:full(1:1,最多 token,最贴合)→half→quarter(最轻量、引导最粗)。

常见问题排查

  • diffusion-runner报"无法确定 pipeline 类型":说明模型目录缺metadata.json,请用coreai.diffusion.export重新导出
  • 内存不足:换--decode-resolution tiled,或导出时选--single-function降低峰值内存
  • 出图慢:优先减少--steps,其次用 4bit 压缩导出
  • 想只导出部分组件:如--components transformer text_encoder,省磁盘空间

结语:从零到出图只需三条命令

回顾一下完整路径:装好 uv 和 Xcode →coreai.diffusion.export一键导出 →diffusion-runner命令行出图。coreai-models 让 FLUX.2 这类大模型不再依赖云端,隐私数据和算力都留在你的 Mac 上。更多扩散模型(如 Sana Sprint)与完整模型目录,可继续查阅 models/README.md。

【免费下载链接】coreai-modelsModel export recipes, Python primitives, and Swift runtime utilities for on-device AI项目地址: https://gitcode.com/gh_mirrors/co/coreai-models

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询