Mochi Diffusion 是一个开源的在 Mac 上原生运行 Stable Diffusion 的客户端,可以在 iOS 和 Mac 上使用 Stable Diffusion 画图而无需联网。 项目基于 Apple 前阵子发布的针对 M1/M2 芯片优化的 Stable Diffusion (开源文生图项目

Mochi Diffusion 是一个开源的在 Mac 上原生运行 Stable Diffusion 的客户端,可以在 iOS 和 Mac 上使用 Stable Diffusion 画图而无需联网。

项目基于 Apple 前阵子发布的针对 M1/M2 芯片优化的 Stable Diffusion (开源文生图项目) 版本 —— ml-stable-diffusion

据网友测试支持多个 SD 主流的画图模型,都已经转换成了 Core ML 模型,包括大家熟悉的 ChilloutMix,M1 的 Macbook Pro 大概 14 秒生成一张图。

使用方法

使用本人的 MacBook Air m1 是可以正常运行出图的,安装方法真的非常简单,简单总结仅需两步:

  • 第一步:下载安装
  • 第二步:下载模型载入

下载安装这一步直接在 官网 release 页面下载即可,如果下载有困难,可以在 这里 下载试试。

载入模型这一步稍微复杂一些,可以在 Core ML Models 下载到一些已经转换好的模型。

下面以下载 coreml/coreml-ChilloutMix 模型举例:

进入模型页面后找到 Clone Repository 按钮:

点击按钮可以看到一些命令:

下面我们来到自己的电脑上,找到模型文件夹所在位置:

切换到该文件夹,之后 Clone 该模型:

Clone 前需要启动 Git LFS 模块,如果没有安装过该模块可以参照 这篇教程 安装启动。

1
2
3
4
5
6
7
8
9
10
11
12
$ cd /Users/songtianlun/Documents/MochiDiffusion/models/
$ git clone https://huggingface.co/coreml/coreml-ChilloutMix

Cloning into 'coreml-ChilloutMix'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 42 (delta 2), reused 0 (delta 0), pack-reused 36
Unpacking objects: 100% (42/42), 8.08 KiB | 375.00 KiB/s, done.
Filtering content: 100% (15/15), 35.36 GiB | 13.31 MiB/s, done.
# 这里需要等待很久,大概需要处理几十 GB 的数据
# 耐心等待命令执行完毕

如果这一步有困难,也可以在 这里 直接获取下一步所需的 chilloutmix-ni_split-einsum.zip 模型文件,快速体验一下效果。

执行完毕后看一下目录结构大概是这样:

1
2
3
4
5
6
$ tree coreml-ChilloutMix --filelimit=4
coreml-ChilloutMix
├── README.md
├── original [10 entries exceeds filelimit, not opening dir]
└── split_einsum
└── chilloutmix-ni_split-einsum.zip

我们需要解压 split_einsum 中的 chilloutmix-ni_split-einsum.zip 文件放在 module 文件夹中,供软件直接调用:

1
unzip coreml-ChilloutMix/split_einsum/chilloutmix-ni_split-einsum.zip

之后回到软件中就可以看到刚刚下载下来的模型了:

快速使用

如果是刚刚接触 AI 生成图像,可以在 Prompt examples - Stable Diffusion 找到一些示例的提示词参数。

比如我们使用这组参数:

在我们自己的电脑上运行即可:

运行效果为:

大家自己试试吧。

References