在苹果设备上运行Stable Diffusion模型

在苹果设备上运行Stable Diffusion模型

💡 原文中文,约3000字,阅读约需8分钟。
📝

内容提要

本文介绍了如何将Stable Diffusion模型下载并转换为CoreML格式。模型可在huggingface和Civitai网站获取,主要有CoreML、Diffusers和safetensors三种格式。转换步骤包括安装依赖和执行转换命令,并提供了Swift调用Stable Diffusion模型的示例代码。Core ML是苹果设备上用于机器学习的框架,优化了性能和能耗。

🔎

延伸解读

模型格式选择:从下载到转换的路径

文章指出,从Hugging Face或Civitai下载的Stable Diffusion模型主要有三种格式:CoreML、Diffusers和safetensors。CoreML格式可直接在苹果设备上使用,但数量较少;Diffusers格式结构复杂,需转换为CoreML;safetensors格式简单,但需先转为Diffusers再转CoreML。因此,若想省去转换步骤,应优先寻找CoreML格式的模型。

转换流程中的关键参数与注意事项

转换Diffusers模型到CoreML时,需使用ml-stable-diffusion仓库的torch2coreml.py脚本。文章强调,若模型是SDXL类型,必须添加--xl-version参数;若支持图生图,可添加--convert-vae-encoder参数。转换safetensors格式时,需先通过Diffusers仓库的脚本转为Diffusers格式,其中--half指定fp16精度,--device mps利用苹果GPU加速。这些参数直接影响转换成功率和模型功能。

Swift集成与Core ML的底层优势

文章提供了使用swift-coreml-diffusers库在Swift中调用Stable Diffusion的示例代码,包括配置MLModelConfiguration、初始化pipeline和生成图片。Core ML作为苹果设备的机器学习框架,能利用CPU、GPU和神经网络引擎优化性能与能耗,且所有计算在设备端完成,无需网络连接,既保护隐私又提升响应速度。这意味着在苹果设备上运行Stable Diffusion能获得更好的能效和实时性。

❓

Q&A

Stable Diffusion模型可以在哪些网站下载?

Stable Diffusion模型可以在huggingface和Civitai网站下载。

CoreML格式的Stable Diffusion模型文件结构是什么样的?

CoreML格式的模型文件主要以.mlmodelc或.mlmodel为主,结构包括TextEncoder、Unet等文件。

如何将Diffusers格式的模型转换为CoreML格式?

需要下载ml-stable-diffusion仓库,安装依赖后执行torch2coreml.py文件中的转换命令。

safetensors格式的模型有什么特点?

safetensors格式的模型文件简单,通常只有一个文件,便于使用。

Core ML框架的主要功能是什么?

Core ML是用于机器学习的框架,优化了性能和能耗,支持实时预测,保护用户数据隐私。

如何在Swift中调用Stable Diffusion模型?

可以使用Huggingface提供的swift-coreml-diffusers库,通过初始化配置和pipeline来调用模型进行推理。

🏷️

标签

➡️

继续阅读