ComfyUI - 具有图形/节点界面的强大且模块化的稳定扩散 GUI。

Created at: 2023-01-17 11:15:56
Language: Python
License: GPL-3.0

舒适用户界面

强大且模块化稳定的扩散GUI和后端。

ComfyUI截图

此 UI 将允许你使用基于图形/节点/流程图的界面设计和执行高级稳定扩散管道。对于一些工作流程示例,看看ComfyUI可以做什么,你可以看看:

舒适用户界面示例

安装 ComfyUI

特征

  • 节点/图形/流程图界面,用于实验和创建复杂的稳定扩散工作流程,而无需编写任何代码。
  • 完全支持 SD1.x、SD2.x 和 SDXL
  • 异步队列系统
  • 许多优化:仅重新执行在执行之间更改的工作流部分。
  • 命令行选项:使其在vram小于3GB vram的GPU上运行(在具有低vram的GPU上自动启用)
    --lowvram
  • 即使你没有具有以下功能的 GPU,也可以正常工作:(慢)
    --cpu
  • 可以加载 ckpt、安全张量和扩散器模型/检查点。独立的VAE和CLIP型号。
  • 嵌入/文本反转
  • 洛拉斯(常规,洛孔和洛哈)
  • 超网络
  • 从生成的 PNG 文件加载完整的工作流(带有种子)。
  • 将工作流保存/加载为 JSON 文件。
  • 节点界面可用于创建复杂的工作流程,例如用于雇用修复或更高级的工作流程。
  • 区域构成
  • 常规模型和修复模型的修复
  • 控制网和 T2I 适配器
  • 高档模型(ESRGAN,ESRGAN变体,SwinIR,Swin2SR等)
  • 解剪辑模型
  • 格里根
  • 模型合并
  • TAESD 的潜在预览
  • 启动速度非常快。
  • 完全离线工作:永远不会下载任何内容。
  • 用于设置模型搜索路径的配置文件

可在“示例”页面上找到工作流示例

快捷方式

密钥绑定 解释
按 + 输入 将当前图形排队以生成
按 + 移位 + 输入 将当前图形排队作为生成的第一个图形
按 + 秒 保存工作流
Ctrl + O 加载工作流
按 + A 选择所有节点
Ctrl + M 将所选节点静音/取消静音
删除/退格 删除所选节点
按 Ctrl + 删除/退格键 删除当前图形
空间 按住并移动光标时移动画布
按/移 + 单击 将单击的节点添加到所选内容
Ctrl + C/Ctrl + V 复制和粘贴所选节点(不维护与未选定节点输出的连接)
Ctrl + C/Ctrl + Shift + V 复制和粘贴所选节点(维护从未选定节点的输出到粘贴节点的输入的连接)
移位 + 拖动 同时移动多个选定节点
按 + D 加载默认图形
Q 切换队列的可见性
H 切换历史记录的可见性
R 刷新图形
双击 LMB 打开节点快速搜索调色板

对于macOS用户,Ctrl也可以替换为Cmd。

安装

窗户

有一个适用于Windows的便携式独立版本,应该可以在Nvidia GPU上运行,或者只能在发布页面上的CPU上运行。

直接下载链接

只需下载,使用 7-Zip 提取并运行。确保将稳定扩散检查点/模型(巨大的 ckpt/safetensors 文件)放入:ComfyUI\models\checkpoints

如何在另一个 UI 和 ComfyUI 之间共享模型?

请参阅配置文件以设置模型的搜索路径。在独立的窗口构建中,你可以在ComfyUI目录中找到此文件。将此文件重命名为 extra_model_paths.yaml 并使用你喜欢的文本编辑器对其进行编辑。

科拉布笔记本

要在 colab 或 paperspace 上运行它,你可以在此处使用我的 Colab 笔记本链接以使用 google colab 打开

手动安装(Windows,Linux)

Git 克隆此存储库。

将你的SD检查点(巨大的ckpt/safetensors文件)放入:模型/检查点

将你的VAE放入:模型/VAE

AMD GPU(仅限 Linux)

AMD用户可以安装带有pip的rocm和pytorch,如果你还没有安装它,这是安装稳定版本的命令:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.4.2

这是使用 ROCm 5.6 安装夜间的命令,该 ROCm 5.6 支持 7000 系列,可能会有一些性能改进:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.6 -r requirements.txt

英伟达

Nvidia 用户应使用以下命令安装 PyTorch 和 xformers:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 xformers

故障 排除

如果你收到“未在启用 CUDA 的情况下编译 PyTorch ”错误,请使用以下命令卸载 PyTorch :

pip uninstall torch

然后使用上面的命令再次安装它。

依赖

通过在 ComfyUI 文件夹中打开终端来安装依赖项,然后:

pip install -r requirements.txt

在此之后,你应该安装所有内容,并可以继续运行ComfyUI。

别人:

英特尔锐域

苹果 Mac 芯片

你可以在 Apple Mac 芯片(M1 或 M2)中使用任何最新的 macOS 版本安装 ComfyUI。

  1. 安装 PyTorch 。有关说明,请阅读 Mac 上的加速 PyTorch 培训 Apple 开发人员指南。
  2. 遵循适用于 Windows 和 Linux 的 ComfyUI 手动安装说明。
  3. 安装 ComfyUI 依赖项。如果你有另一个稳定扩散 UI,则可以重用依赖项
  4. 通过运行 启动 ComfyUI。
    python main.py

注意:请记住添加你的模型,VAE,LoRA等。到相应的 Comfy 文件夹,如 ComfyUI 手动安装中所述。

DirectML(Windows 上的 AMD 卡)

pip install torch-directml
然后你可以启动ComfyUI与:
python main.py --directml

我已经安装了另一个用于稳定扩散的 UI,我真的必须安装所有这些依赖项吗?

你没有。如果你安装了另一个UI并使用它自己的python venv,你可以使用该venv来运行ComfyUI。你可以打开自己喜欢的终端并激活它:

source path_to_other_sd_gui/venv/bin/activate

或在 Windows 上:

使用Powershell:

"path_to_other_sd_gui\venv\Scripts\Activate.ps1"

使用 cmd.exe:

"path_to_other_sd_gui\venv\Scripts\activate.bat"

然后,你可以使用该终端运行ComfyUI,而无需安装任何依赖项。请注意,venv 文件夹可能被称为其他名称,具体取决于 SD UI。

运行

python main.py

对于 ROCm 未正式支持的 AMD 卡

如果遇到问题,请尝试使用以下命令运行它:

对于 6700、6600 和其他 RDNA2 或更早版本:

HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py

对于 AMD 7600 和其他 RDNA3 卡:

HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py

笔记

只会执行具有所有正确输入的输出的图形部分。

只会执行从每次执行到下一次执行时更改的图形部分,如果你提交相同的图形两次,则只会执行第一个。如果更改图形的最后一部分,则仅执行你更改的部分和依赖于它的部分。

在网页上拖动生成的 png 或加载一个 png 将为你提供完整的工作流程,包括用于创建它的种子。

你可以使用 () 更改单词或短语的强调,例如:(好代码:1.2) 或(坏代码:0.8)。() 的默认强调值为 1.1。要在实际提示中使用 () 字符进行转义,例如 \( 或 \)。

你可以使用 {day|night} 作为通配符/动态提示。使用此语法,每次对提示进行排队时,前端都会将“{wild|card|test}”随机替换为“wild”,“card”或“test”。要在实际提示中使用 {} 字符,请转义它们,例如:\{ 或 \}。

动态提示还支持 C 样式注释,例如 或 。

// comment
/* comment */

要在文本提示中使用文本反转概念/嵌入,请将它们放在 models/embeddings 目录中,并在 CLIPTextEncode 节点中使用它们,如下所示(你可以省略 .pt 扩展名):

embedding:embedding_filename.pt

如何提高生成速度?

请确保使用常规加载程序/加载检查点节点来加载检查点。它将根据你的 GPU 自动选择正确的设置。

你可以设置此命令行设置以在某些交叉注意力操作中禁用向上转换为 fp32,这将提高你的速度。请注意,这很可能会在 SD2.x 型号上为你提供黑色图像。如果使用 xformers,则此选项不会执行任何操作。

--dont-upcast-attention

如何显示高质量的预览?

用于启用预览。

--preview-method auto

默认安装包括低分辨率的快速潜在预览方法。要使用 TAESD 启用更高质量的预览,请下载 taesd_decoder.pth(适用于 SD1.x 和 SD2.x)和 taesdxl_decoder.pth(适用于 SDXL)模型,并将它们放在文件夹中。安装完成后,重新启动 ComfyUI 以启用高质量的预览。

models/vae_approx

支持和开发频道

矩阵空间:#comfyui_space:matrix.org(这就像不和谐,但开源)。

质量保证

你为什么做这个?

我想详细了解稳定扩散的工作原理。我还想要一些干净而强大的东西,让我不受限制地尝试SD。

这是给谁的?

这适用于想要使用 SD 制作复杂工作流程或想要了解更多 SD 工作原理的任何人。该界面紧跟 SD 的工作方式,代码应该比其他 SD UI 更易于理解。