AI

Mac M系列 FLUX Kontext 安装和运行

ComfyUI安装


ComfyUI 的桌面版是支持 Apple Silicon,所以这次我们直接选择桌面版。安装过程会很简单。

ComfyUI下载地址:https://www.comfy.org/zh-cn

打开 http://comfy.org,直接下载 Mac 版就可以了,下载完成之后直接双击 dmg 文件。

这就是一个常规的 macOS 软件安装方式 ,拖动到 Application,然后打开 ComfyUI。

然后就会进入配置页面了,全程可视化配置,没有任何复杂的地方,点击开始使用。

选择 GPU 类型

按默认选择左边的 MPS 加速,不启用 CPU 模型。点击下一步,安装位置设置。

可以设置 ComfyUI 的主要目录。这个目录里会包含如下的文件:

插件,输入,模型,输出这些都放在这里。如果没有特殊需求直接下一步,如果有多个硬盘,或者有大的硬盘,就尽量切换到大空间的路径。因为这个目录需要放模型,所需空间会比较大。

桌面设置

这里基本默认就可以了,如果你的网络是内外,可以点开镜像设置。我的网络没问题,他直接打勾✅了,所以我是直接点击安装,自动设置 Python 环境和安装依赖。

这个过程非常丝滑,你不需要关心具体细节,它会全自动完成。因为 macOS 的深度学习包不是很大,也不需要几个 G 的 CUDA,所以即便是在线下载依赖,整个过程也不会太久。

安装完成之后自动启动。

启动之后会弹出模板,让你选择,选好之后就可以开始使用了,到这里之后,后面的操作就和 Windows 平台差不多了,同样在演示例子中选择 Flux,然后选择小兔子的那个工作流。

打开之后,他同样会提示你下载几个必要的模型。因为这是桌面端,只要点击一下下载,它会自动帮你下载并放到正确的路径,当然,你也可以直接去 Huggingface 下载。下载完成之后,就可以点击运行了。

https://huggingface.co/bullerwins/FLUX.1-Kontext-dev-GGUF/tree/main

在运行之前一切顺利,整个过程还挺丝滑。但是点击运行之后就出现问题了。

模型加载全部没有问题,但是到了 KSampler 这一步的时候,就出了错误了。

错误提示为:

Trying to convert Float8_e4m3fn to the MPS backend but it does not have support for that dtype.

通过右下角的查找问题,可以快速转到 GitHub 的讨论版块,有六个提问,一个已经被解决了,看了一圈也不是特别清楚。但是,我根据他的提示信息盲猜,这应该是数据类型的问题。M 系列芯片和 N 卡支持的数据类型不一样,FP8 这种估计只有 N 卡上可以。

所以,我的思路是下载 FP16 的 FLux 模型,FP16 的 Clip 模型。果然,换了模型之后,就没有报错了。

下载地址分别为:

# 黑森林官方 HF
HTTPS://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev
# ComfyUI 官方 HF
HTTPS://huggingface.co/comfyanonymous/flux_text_encoders

换了模型之后就可以正常生成图片。但是…. 时间有点久。

必须优化下,借用 Windows 的优化思路,同时考虑到 M 系列对 GGUF 支持比较好。我就在 M4 上也安装了 GGUF 插件,然后加载了 GGUF 模型。

 

Flux kontext GGUF节点安装和使用


所以,今天主要是讲如何使用GGUF模型,包括模型从哪里下载,使用什么节点,如何修改工作流。在昨天的基础上,完成今天的内容并不会太难。

使用GGUF是需要下载单独的GGUF模型。

GGUF(GPT Generative Unified Format)是一种专门用于大语言模型(如Llama、Mistral等)推理的模型文件新格式。

兼容性更好:支持更多模型结构(不仅仅是Llama系列)。

信息更丰富:文件内可以保存模型结构、参数、词表、量化信息等多种元数据,方便后续加载和复用。

体积优化:支持多种量化方式,进一步缩小模型文件体积,适合本地、边缘设备部署。

生态广泛:被Ollama、llama.cpp、lmdeploy、ComfyUI、text-generation-webui等多个AI推理工具支持。

这个模型已经有人做好了 ,只要打开下面这个地址:

https://huggingface.co/bullerwins/FLUX.1-Kontext-dev-GGUF/tree/main

可以看到如下内容:

根据自己的情况来下载模型,显存小的就下载小的模型。显存大点的就下载大一点的模型,从23.8G到4.02GB任君选择。如果不确定,可以参考开头的截图。或者Q2,Q4,Q6,Q8分别下载一个。放到diffusion_models/文件夹下面

  ComfyUI/
├──   models/
│   ├──   diffusion_models/
│   │   └── flux1-dev-kontext_fp8_scaled.safetensors
│   ├──   vae/
│   │   └── ae.safetensor
│   └──   text_encoders/
│       ├── clip_l.safetensors
│       └── t5xxl_fp16.safetensors 或者 t5xxl_fp8_e4m3fn_scaled.safetensors

这样模型部分就完成了。

 

插件安装

有了模型之后,还需要专门插件和节点去加载这个模型。

插件地址:

https://github.com/city96/ComfyUI-GGUF

根据项目主页的介绍单独安装,也可以通过ComfyUI Manger来快速安装。

下面以ComfyUI Manager为例:

打开ComfyUI后右上角有一个Manager按钮,点击一下会弹出一个窗口,然后选择节点管理。
然后搜索ComfyUI-GGUF, 索到了之后点击Install 开始安装。

这里可能会有好几个结果,选名字最匹配,后面Star数量最多那个。插件安装完成之后,会要求重启软件。点击左下角的Restart重启软件。这样插件就安装完成了!

 

工作流修改

重启软件之后,双击工作流空白处,输入GGUF

此时就可以看到很多GGUF相关的节点了,选中Unet Loader来加载FluxKontext的GGUF模型。

如果你是先安装了节点,重启之后才放模型,记得要刷新以下节点定义。

这样节点才能读取到模型!
然后把原先接在Load Diffusion Model上的线换到Unet Loader上。

Unet Loader 里通过unet_name可以切换具体的gguf模型
为了进一步节省空间,可以把DualCLIP加载器也换一下:

换成GGUF版之后,clip_name1换一个叫“t5-v1_1-xxl-encoder-gguf”的文件。这个文件可以通过这个地址下载:

https://huggingface.co/city96/t5-v1_1-xxl-encoder-gguf/tree/main

接下来就可以点击运行测试了。

可以看到运行过程中只用了10.5G显存。
我的电脑在不运行Flux的时候,其他软件大概占用了3G显存。所以FLUX这次总共用了7.5GB左右。所以理论上8G挤一挤也是够用的。12G应该能轻松驾驭。

   

ComfyUI 安装Login 插件


登录时会需要密码

 

Kontext 的能力


风格转化

提示词:transform to a Ghibli photo

改变着装

提示词:Change the girl's clothes to a bikini while preserving her facial features, hairstyle, and pose.

改变视角

提示词:Rotate the camera 90 degrees to view directly from side the woman.

移除物体

提示词:Remove the person in the image.

 

老照片修复

提示词:Repair this old photo, keep the appearance of the characters unchanged to the greatest extent, eliminate cracks, enhance clarity, correct colors, restore the original photo, and achieve ultra-high-definition quality.

修改文字

提示词:change the text on the pager sign to "piano"

改变发色

提示词:change the girl hair to pink

老照片修复

提示词:Repair this old photo, keep the appearance of the characters unchanged to the greatest extent, eliminate cracks, enhance clarity, correct colors, restore the original photo, and achieve ultra-high-definition quality.