arrow-pointer如何在 ComfyUI 中运行扩散图像 GGUF

在 ComfyUI 中运行 Unsloth 扩散 GGUF 模型的指南。

ComfyUI 是一个开源的扩散模型图形界面、API 和后端,使用基于节点(图/流程图)的界面。 ComfyUIarrow-up-right 是运行像 Qwen-Image-Edit 或 FLUX 之类图像模型工作流的最流行方式。

GGUF 是在本地运行扩散模型时最优秀且高效的格式之一,且 Unsloth Dynamic GGUF 使用智能量化在低位宽下也能保留准确性。

在本循序渐进的教程中,你将学习如何安装 ComfyUI(Windows、Linux、macOS)、构建工作流并调整 超参数

先决条件与要求

运行扩散 GGUFs 不需要 GPU,只需有带内存(RAM)的 CPU。虽然不需要 VRAM,但有 VRAM 会使推理更快。为获得最佳效果,确保你的总可用内存(RAM + VRAM / 统一内存)略大于 GGUF 大小;例如,4 位(Q4_K_M) unsloth/Qwen-Image-Edit-2511-GGUF 为 13.1 GB,因此你至少应有约 ~13.2 GB 的组合内存。你可以在 我们的合集arrow-up-right.

我们建议对扩散模型至少使用 3 位量化,因为它们的层,尤其是视觉组件,对量化非常敏感。Unsloth Dynamic 对重要层进行上采样量化以尽可能恢复准确性。

📖 ComfyUI 教程

ComfyUI 将整个图像生成管道表示为连接节点的图。 本指南将侧重于带 CUDA 的机器,但在 Apple 或仅 CPU 下构建的说明类似。

#1. 安装与设置

要安装 ComfyUI,你可以在 Windows 或 Mac 设备上下载桌面应用程序 此处arrow-up-right。否则,要为运行 GGUF 模型设置 ComfyUI,请运行以下命令:

mkdir comfy_ggufs
cd comfy_ggufs
python -m venv .venv
source .venv/bin/activate

git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt

cd custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF
cd ComfyUI-GGUF
pip install -r requirements.txt
cd ../..

#2. 下载模型

扩散模型通常需要 3 个模型。一个将图像像素空间编码到潜在空间的变分自编码器(VAE),一个将文本转换为输入嵌入的文本编码器,以及实际的扩散变换器。你可以在我们的 合集这里arrow-up-right.

找到所有 Unsloth 扩散 GGUF。扩散模型和文本编码器都可以是 GGUF 格式,而我们通常对 VAE 使用 safetensors。让我们下载将使用的模型。

查看以下的 GGUF 上传: Qwen-Image-Edit-2511arrow-up-right, FLUX.2-devarrow-up-rightQwen-Image-Layeredarrow-up-right

circle-exclamation

这些文件必须位于正确的文件夹中,ComfyUI 才能识别它们。此外,mmproj 文件中的视觉塔(vision tower)必须使用与文本编码器相同的前缀。

还请下载稍后将使用的参考图像。

工作流与超参数

你也可以查看我们的详细 Run GGUFs in ComfyUI 指南。

导航到 ComfyUI 目录并运行:

这将启动一个 Web 服务器,让你可以访问 https://127.0.0.1:8188 。如果你在云端运行,需要确保已设置端口转发以便在本地机器上访问。

工作流以嵌入在输出图像(PNG 元数据)中的 JSON 文件或作为单独的 .json 文件保存。你可以:

  • 将一张图片拖放到 ComfyUI 中以加载其工作流

  • 通过菜单导出/导入工作流

  • 以 JSON 文件共享工作流

下面是两个 FLUX 2 json 文件的示例,你可以下载并使用:

你可以在不从头设置工作流的情况下从此处下载该工作流。

在浏览器页面中通过点击 Comfy 徽标 -> 文件 -> 打开 -> 然后选择你刚下载的 unsloth_flux2_t2i_gguf.json 文件将其加载。它应该看起来像下面:

此工作流基于官方发布的 ComfyUI 工作流,但它使用 GGUF 加载扩展,并为说明文本到图像功能而简化。

#3. 推理

ComfyUI 可高度自定义。你可以混合模型并创建极其复杂的管道。对于基本的文本到图像设置,我们需要加载模型、指定提示词和图像细节,并决定采样策略。

上传模型 + 设置提示词

我们已经下载了模型,所以只需选择正确的模型。对于 Unet Loader 选择 flux2-dev-Q4_K_M.gguf,对于 CLIPLoader 选择 Mistral-Small-3.2-24B-Instruct-2506-UD-Q4_K_XL.gguf,对于 Load VAE 选择 flux2-vae.safetensors.

你可以设置任意提示词。因为无分类器引导已内置到模型中,我们不需要指定负面提示词。

图像尺寸 + 采样器参数

Flux2-dev 支持不同的图像尺寸。你可以通过设置宽度和高度的值来生成矩形。对于采样器参数,你可以尝试除了 euler 以外的不同采样器,以及更多或更少的采样步骤。如果想观察不同设置如何改变输出,可将 RandomNoise 设置从 randomize 改为 fixed。

运行

点击运行(Run),大约 45-60 秒内会生成一张图像。该输出图像可以被保存。有趣的是,整个 Comfy 工作流的元数据会保存在图像中。你可以分享该图像,任何人都可以通过在 UI 中加载它来查看其创建过程。

多参考生成

Flux2 的一个关键特性是多参考生成,你可以提供多张图像以辅助控制生成。这次加载 unsloth_flux2_i2i_gguf.json。我们将使用相同的模型,这次唯一的区别是额外的节点用于选择要作为参考的图像,这些图像我们之前已下载。你会注意到提示词同时引用了 图像 1图像 2 ,它们是图像的提示锚点。加载后点击运行,你会看到输出将我们两个独特的树懒角色放在一起,同时保留它们的相似特征。

🎯 工作流与超参数

对于文本到图像的工作流,我们需要指定提示词、采样参数、图像尺寸、引导强度以及任何优化配置。

采样

采样 与大语言模型不同。我们不是一次采样一个 token,而是在多个步骤中对整个图像进行采样。每一步逐步“去噪”图像,这意味着当你运行更多步骤时,图像往往质量更高。还有不同的采样算法,范围从一阶和二阶算法到确定性和随机性算法。对于本教程,我们将使用 euler,这是在质量与速度之间取得平衡的标准采样器。

引导

引导 是扩散模型的另一个重要超参数。引导有很多变体,但最广泛使用的两种形式是 无分类器引导(CFG) 和引导蒸馏。无分类器引导的概念源自 无分类器扩散引导arrow-up-right。历史上你需要一个单独的分类器模型来引导模型以匹配输入条件,但这篇论文实际上表明 CFG 使用模型的条件预测与无条件预测之间的差异来形成引导方向。

在实践中,这并不是一个无条件预测,而是一个负面提示预测,意思是这是我们绝对不想要的提示,我们应当远离它。使用 CFG 时你不需要单独的模型,但需要来自无条件或负面提示的第二次推理步骤。其他模型在训练期间将 CFG 内置,但你仍然可以设置引导强度。这与内置 CFG 不同,因为它不需要第二次推理步骤,但它仍然是一个可调超参数,用于设置其效果的强弱。

结论

综合起来,你设置一个提示词告诉模型要生成什么,文本编码器对文本进行编码,VAE 对图像进行编码,两个嵌入根据采样参数和引导在扩散模型中被逐步处理,最后输出由 VAE 解码,生成可用的图像。

关键概念与术语表

  • 潜在(Latent):压缩的图像表示(模型操作的对象)。

  • 条件(Conditioning):引导生成的文本/图像信息。

  • 扩散模型 / UNet:执行去噪的神经网络。

  • VAE:像素空间与潜在空间之间的编码器/解码器。

  • CLIP(文本编码器):将提示词转换为嵌入。

  • 采样器(Sampler):迭代去噪潜在表示的算法。

  • 调度器(Scheduler):控制跨步的噪声计划。

  • 节点(Nodes):操作(加载模型、编码文本、采样、解码等)。

  • 边(Edges):在节点之间流动的数据。

最后更新于

这有帮助吗?