ComfyUI/READMEcn.md
2024-09-21 19:34:03 +08:00

19 KiB
Raw Blame History

ComfyUI

功能最强大的模块化diffusion模型的图形用户界面和后端。

Website Dynamic JSON Badge Matrix

ComfyUI Screenshot

该界面可让您使用基于图形/节点/流程图的界面来设计和执行高级的stable diffusion工作流。如需了解一些工作流程示例并了解 ComfyUI 的功能,请访问以下网站:

ComfyUI 示例

安装 ComfyUI

特性

工作流示例可以参见 示例页面

快捷键

快捷键绑定 效果
Ctrl + Enter 当前图作为生成队列
Ctrl + Shift + Enter 当前图作为第一个生成队列
Ctrl + Alt + Enter 取消当前生成
Ctrl + Z/Ctrl + Y 不做/重做
Ctrl + S 保存工作流
Ctrl + O 加载工作流
Ctrl + A 选中所有节点
Alt + C 收起/展开 选定节点
Ctrl + M 静音/取消静音 选定节点
Ctrl + B 绕过选定节点 (就像当前节点被移除出图并且线路重现连接穿过)
Delete/Backspace 删除选定系节点
Ctrl + Backspace 删除当前图
Space 按住并移动光标时移动画布
Ctrl/Shift + Click 添加点击节点到选区
Ctrl + C/Ctrl + V 复制并粘贴选中节点 (而不与未选定节点的输出保持连接)
Ctrl + C/Ctrl + Shift + V 复制和粘贴选定的节点(保持未选定节点的输出与粘贴节点的输入之间的连接)
Shift + Drag 一次性移动多个选定节点
Ctrl + D 加载默认图
Alt + + 画面放大
Alt + - 画面缩小
Ctrl + Shift + LMB + Vertical drag 画面放大/画面缩小
P 按住/解除 选中节点
Ctrl + G 选中节点成组
Q 切换队列可见性
H 切换历史可见性
R 刷新图
Double-Click LMB 打开节点快速搜索面板
Shift + Drag 一次移动多条连线
Ctrl + Alt + LMB 取消选定插槽的所有连线

对于macOS用户Ctrl键可以被Cmd键替换

安装

Windows

releases page 上有一个适用于 Windows 的便携单机的构建版本,应当可以在 Nvidia GPU 上运行,也可以仅在 CPU 上运行。

下载链接

下载后,使用 7-Zip 解压并运行. 确保将 Stable Diffusion checkpoints/models (the huge ckpt/safetensors files) 放置于: ComfyUI\models\checkpoints

如果你遇到解压问题, 右键单击文件 -> 属性 -> 解除占用

如何在其他 UI 和 ComfyUI 之间共享模型?

参见 Config file 去设定模型检索路径. 在独立的 Windows 构建版本中,您可以在 ComfyUI 目录中找到该文件。将此文件重命名为 extra_model_paths.yml然后用你喜欢的文本编辑器进行编辑。

Jupyter Notebook

在像 paperspace, kaggle 或 colab 等平台上运行服务,你可参见 Jupyter Notebook

手动安装 (Windows, Linux)

Git 克隆此项目.

放置 SD checkpoints (the huge ckpt/safetensors files) 到: models/checkpoints

放置 VAE 到: models/vae

AMD GPUs (仅限 Linux )

如果尚未安装AMD 用户可使用 pip 安装 rocm 和 pytorch以下是安装稳定版的命令:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.1

这是安装带有 ROCm 6.2 的nightly版本的命令该版本可能会有一些性能改进:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.2

NVIDIA

Nvidia 用户应使用以下命令安装稳定的 pytorch:

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

这是安装 pytorch nightly 的命令,性能可能会有所改善:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

问题排查

如果你遇到 "Torch not compiled with CUDA enabled" 错误, 使用命令:

pip uninstall torch 卸载 torch

并且使用上述提到的命令重新安装.

依赖

在 ComfyUI 文件夹中打开终端,安装依赖:

pip install -r requirements.txt

在此之后,你应该安装完所有内容,并且可以运行 ComfyUI 了。.

其他安装选择:

Intel GPUs

Intel GPU 支持 适用于英特尔 Pytorch 扩展程序 (IPEX) 支持的所有英特尔 GPU 支持要求列于 Installation 页面. 选择您的平台和安装方法,然后按说明操作.步骤如下:

  1. 对于有需要的 Windows 和 Linux首先安装上述 IPEX 安装页面中列出的或更新驱动程序或内核
  2. 根据你的平台,按照指示说明安装 Intel's oneAPI Basekit .
  3. 根据你的平台,使用安装页面提供的说明安装 IPEX 包。
  4. 依照 ComfyUI manual installation对于Windows 和 Linux的说明如同上述所有内容安装完成后的描述照常运行ComfyUI

额外的讨论和帮助参见 此处.

Apple Mac silicon

您可以在苹果 Mac siliconM1 或 M2上安装 ComfyUI并使用任何最新的 macOS 版本.

1.安装 pytorch nightly. 根据说明,阅读 Accelerated PyTorch training on Mac Apple Developer guide (确保安装的是最新版 pytorch nightly).

  1. 依照 ComfyUI 手动安装 对于 Windows and Linux的说明.
  2. 安装 ComfyUI 依赖. 如果已使用其他 Stable Diffusion UI 你也许可以重复使用这些依赖.
  3. 运行 ComfyUI python main.py

注意: 记得添加你的模型, VAE, LoRAs 等等到相应的 Comfy 文件夹, 如 ComfyUI manual installation.中所述

DirectML (AMD Cards on Windows)

pip install torch-directml 然后你可以运行ComfyUI: python main.py --directml

运行

python main.py

For AMD cards 不被 ROCm 官方支持

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

对于 6700, 6600 或其他 RDNA2 或更旧版本: HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py

对于 AMD 7600 或其他 RDNA3 cards: 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 */.

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

embedding:embedding_filename.pt

如何展示高质量预览?

使用 --preview-method auto 允许预览.

默认安装包括一个快速的低分辨率预览方式. 要允许高质量预览使用 TAESD, 下载 taesd_decoder.pth, taesdxl_decoder.pth, taesd3_decoder.pth and taef1_decoder.pth 并且放置到 models/vae_approx 文件夹. 一旦安装完成, 重启ComfyUI并通过 --preview-method taesd 运行以允许高质量预览.

如何使用 TLS/SSL?

运行命令生成自签名证书(不适合共享/生产使用)和密钥: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"

使用 --tls-keyfile key.pem --tls-certfile cert.pem 允许 TLS/SSL, 应用可以访问 https://...http://....

注意: Windows 用户可以使用 alexisrolland/docker-openssl 或其中一个 3rd party binary distributions 运行上述命令示例.

如果你使用容器, 注意 volume mount -v can be a relative path so ... -v ".\:/openssl-certs" ... 将在命令提示符或 powershell 终端的当前目录下创建密钥和证书文件.

支持和开发频道

Matrix space: #comfyui_space:matrix.org (很像discord但是是开源的).

另可见: https://www.comfy.org/

前端开发

自 2024 年 8 月 15 日起,我们已过渡到新的前端,该前端现在托管在一个单独的存储库中: ComfyUI Frontend. 现在此项目将编译后的JS (来自 TS/Vue) 存放在 web/ 目录下.

报告问题 和 需要功能特性

有关前端的任何错误、问题或功能请求,请使用 ComfyUI Frontend repository. 这将有助于我们更有效地管理和解决前端的特定问题。

使用最新的前端

新版前端是 ComfyUI 的默认前端,但是,请注意:

  1. 在 ComfyUI 项目中,这一前端是每周更新的。
  2. 在独立的前端项目中是每日发布的.

要使用最新的前端版本:

  1. 对于最新的每日发布版本, 以下列命令行参数启动ComfyUI:

    --front-end-version Comfy-Org/ComfyUI_frontend@latest
    
  2. 对于特定的版本, 用需要的版本号替换 latest :

    --front-end-version Comfy-Org/ComfyUI_frontend@1.2.2
    

通过这种方法,您可以在稳定的每周发布版本和最先进的每日更新版本之间轻松切换,甚至可以切换到特定版本进行测试.

使用旧版前端

如果出于任何原因需要使用传统前端,可以使用以下命令行参数访问它:

--front-end-version Comfy-Org/ComfyUI_legacy_frontend@latest

这将使用保存在 ComfyUI Legacy Frontend repository 中的旧版前端快照

常见问题

我应该买什么样的GPU?

参见此网页的推荐