折腾AI画图小记(一):ComfyUI环境相关

折腾AI画图小记(一):ComfyUI环境相关

知识分子没文化
2025-12-16 / 0 评论 / 5,616 阅读 / 2,835 字数 / 正在检测是否收录...

目录:

运行环境:

Win11 专业版、ComfyUI 0.12.3

Python 版本 : 3.12.12

PyTorch 版本: 2.9.0

CUDA 版本 : 12.8

显卡:RTX 2080Ti 22G

推荐几个良心 B 站 UP:Work-Fisher黑鹤001鳌拜拜丿AllBuy飞天闪客

关于 ComfyUI 相关的一些基础概念和教程示例,强烈推荐阅读其官方文档,从模型下载到工作流都有:ComfyUI 官方文档 - ComfyUI

一、环境相关

1.1、启动器

我目前用的启动器是由 B 站 UP 主 Mr陌客 开发的 NB启动器,UI 界面美观,功能比较丰富,看日志、管理插件、环境检测、管理依赖等这些功能都有,个人感觉很好用。

01

1.2、插件下载

现在基本百分之九十九以上的插件基本都能在 Github 上能找到,手动安装的方法是从 Github 上把项目 clone 下来放在目录的 custom_nodes 文件夹下,或者使用启动器的安装插件功能,当然启动器上面的安装插件功能也都是选定 Github 上的插件之后自动在 custom_nodes 文件夹下执行 clone 命令。

安装完成之后重启 ComfyUI 即可。

部分推荐安装的插件:

  • Comfy-Org/ComfyUI-Manager:ComfyUI 的自定义节点管理器,支持安装、卸载、禁用和启用各种自定义节点。
  • Dontdrunk/ComfyUI-DD-Translation:基于 AIGODLIKE-ComfyUI-Translation 的衍生分支,为 ComfyUI 提供全面的简体中文翻译支持,支持界面语言切换和自定义节点汉化。
  • nunchaku-ai/ComfyUI-nunchaku:集成 Nunchaku 量化推理引擎,支持 4-bit 量化模型的高效推理,兼容 FLUX.1 等模型。
  • rgthree/rgthree-comfy:提供一系列自定义节点和优化工具,让 ComfyUI 工作流更简洁、快速和易用。
  • crystian/ComfyUI-Crystools:提供资源监控(CPU/GPU/内存)、进度条、元数据提取、图像保存及调试等实用工具集。
  • pythongosssss/ComfyUI-Custom-Scripts:增强 ComfyUI 的界面功能,包括嵌入式自动补全、节点自动排列、颜色拾取器和工作流快捷操作。
  • 1038lab/ComfyUI-QwenVL:集成 Qwen-VL 系列多模态模型(含 Qwen2.5-VL/Qwen3-VL),支持图像理解、视频分析和文本生成。
  • yawiii/ComfyUI-Prompt-Assistant:提示词助手,支持调用多种大模型进行提示词翻译、润色扩写、图片反推,并提供预设插入和历史记录功能。
  • kijai/ComfyUI-KJNodes:提供多种实用自定义节点,包括跨子图的 Set/Get 连接管理及其他工作流优化工具。
  • yolain/ComfyUI-Easy-Use:对常用节点进行优化和集成,简化 ComfyUI 操作流程,提升图像生成的使用便利性。
  • ltdrdata/ComfyUI-Impact-Pack:提供图像检测、面部修复、分割、预览桥接及多种实用检测与修复节点,支持复杂工作流优化。

1.3、主要目录

一般从官方仓库下载的 ComfyUI 便携包目录下,python_embeded 是自带的 python 环境,ComfyUI 文件夹是程序本体,主要介绍一下 ComfyUI 文件夹下的几个常用文件夹:

  • models:存放各类模型文件,所有 AI 模型权重文件都按类型分类存放在其子目录中。节点加载器(如 Checkpoint 加载器、LoRA 加载器、uNet 加载器)会自动扫描对应的路径。
    • checkpoints:存放主模型(如 SDXL、Flux、Z-Image、Wan 等)文件,文件格式多为 .ckpt.safetensors。使用“checkpoint 加载器”节点可加载该目录下的模型。
    • clip / text_encoders:都存放 CLIP 文本编码模型文件,使用任意一个文件夹都可以。使用“CLIP 加载器”节点可加载该目录下的模型。
    • controlnet:存放 ControlNet 模型(.safetensors 文件)。这类模型用于对图像生成过程进行精确控制,例如根据线稿上色、模仿特定姿势、依据深度图生成等。使用“controlnet 加载器”节点可加载该目录下的模型。
    • unet / diffusion_models:存放扩散模型的 UNet 权重(.safetensors 文件)。使用“unet 加载器”节点可加载该目录下的模型。
    • vae:存放 VAE(变分自编码器)模型,用于图像编码/解码,提升生成质量或修复颜色问题。使用“vae 加载器”节点可加载该目录下的模型。
    • loras:存放 LoRA 模型(.safetensors 文件),这是一种轻量级的微调模型,用于在基础模型上增加特定的人物、风格、服饰等特征,文件体积较小。使用“lora 加载器”节点可加载该目录下的模型。
    • hypernetworks:存放超网络模型,是另一种微调技术,功能与 LoRA 类似,但目前使用不如 LoRA 广泛。
    • embeddings:存放文本嵌入模型(也称为 Textual Inversion)。它可以将一个特定的概念(如自定义的角色、画风)编码成一个词,方便在提示词中调用。
    • LLM:专门用于存放大语言模型(Large Language Model)权重文件,特别是 GGUF 格式(llama.cpp / GGML 量化模型)、transformers 格式的完整模型文件夹、VLM(Vision-Language Model)多模态模型等。它不是 ComfyUI 核心自带的文件夹,而是由各种 LLM 相关自定义节点自动创建路径。
    • configs:存放模型的配置文件(.yaml.json),定义了模型的网络结构和采样参数。
    • 其他可能出现的文件夹(如 ipadapter、insightface、ultralytics 等)由自定义节点或特定功能创建。
  • custom_nodes:安装第三方插件的主要位置,每个子文件夹对应一个插件,插件内通常包含 .py 文件定义节点。
  • input:用于存放上传的输入文件,当使用“加载图片”、“加载视频”等节点上传文件时,文件默认保存到这里,上传或手动复制文件进来,节点也可以直接从此目录读取。
  • output:生成结果的默认保存目录,使用“保存图片”、“保存视频”等节点时,生成的图片(.png/.jpg)、视频、GIF 等会保存在这里。
  • temp:存放临时文件、缓存、中间结果(如上传的临时图像、预览图、某些节点生成的中间数据)。
  • user\default\workflows:存放工作流的目录。

注意:模型文件不能乱放,必须放在对应文件夹,否则节点无法识别。为了管理方便,可以在这些文件夹里再创建子文件夹分类存放不同版本的模型,ComfyUI 也能正常识别。

二、模型下载

2.1、模型文件格式

所谓模型文件格式(.safetensors.gguf.ckpt.pt)本质上都是“模型权重的存储方式”,主要有这么几种格式:

  • .safetensors:由 Hugging Face 推出的一种安全的模型权重格式,只存“纯数据”(tensor),加载速度快,不包含任何可执行代码,因此安全性高,没有执行潜在恶意代码的风险。

  • .gguf:由 llama.cpp 团队开发的二进制格式,专门为大语言模型(LLM) 设计,支持 Q2、Q3、Q4、Q5、Q8 等不同比特量化(quantization),可大幅缩小模型体积,并且支持 CPU 运行。

  • .ckpt.ckpt 是“Checkpoint”(检查点)的缩写,通常指代训练过程中的模型快照。一个 .ckpt 文件(或一组文件)不仅包含模型权重,还通常包含优化器状态、当前训练轮数、学习率调度器状态等信息。

  • .pt / .pth:PyTorch 框架原生的模型文件格式,两者可以互换使用。它们是使用最广泛的模型格式之一,兼容性最好,但文件较大,加载较慢,且存在安全风险。

其中,ComfyUI 中这几种模型文件格式都有涉及,不过主要重点关注 “.safetensors”“.gguf”,checkpoint / vae / clip / lora / unet 模型文件大部分是 “.safetensors” 格式,也会有部分经过量化的 checkpoint 模型文件为 “.gguf” 格式,如果涉及大语言模型的节点大部分用到的是经过量化的 “.gguf” 格式。

其他自定义节点或特定功能也会用到“.pt / .pth”文件,不过一般也无需专门下载,即便缺少该文件,在运行工作流时也会自动下载。

完整的基础模型文件在 HuggingFace 平台(需科学上网)或者国内的镜像站 HF-Mirror 上下载,还有阿里旗下的 魔搭社区 也是类似于 HuggingFace 的平台,上面的模型文件虽然不如 HuggingFace 丰富,但也涵盖了目前大部分的开源模型及其量化版本,除此之外,Civitai | Discover and Create AI Art(C站)也提供了丰富的模型。

2.2、根据显卡选择恰当精度的模型

HuggingFace 或魔搭社区常有同一模型的不同精度变体,也就是经常听到的 FP16、BF16、FP8 等,文件名里会标,尽量根据自己的显卡来选择对应精度的模型。目前近几代 Nvidia 显卡对于浮点运算的硬件加速支持情况也各不相同:

  • 50系列(Blackwell):FP16、BF16、FP8、FP4
  • 40系列(Ada):FP16、BF16、FP8
  • 30系列(Ampere):FP16,BF16
  • 20系列(Turing):FP16
  • 10系列(Pascal)及以下:只有较慢的全精度FP32

当然,这并不代表在 RTX2080Ti 这种不支持 BF16 / FP8 硬件加速的显卡上使用不了 FP8 / BF16 精度的模型,相反,其加载新精度的模型文件通常不会报错,依然还是能跑起来。原因在于,ComfyUI(以及背后的PyTorch和CUDA)在加载模型时检测到显卡如果不支持原生 FP8 / BF16 硬件加速,系统会将低精度权重自动转换到硬件支持的格式(通常是 FP16 或 FP32)后再进行计算。

缺点在于每次都需要进行数据类型转换,中间多了数据转换的开销,实际速度有时不如直接用原生支持的FP16模型快。

所谓 FPxx / BFxx 就是模型权重的数值精度(Precision),简单来说,精度越高,模型计算时的误差越小,生成的图像细节理论上越还原,但速度和显存占用会相应增加,反之亦然。不同精度本质上是混合精度(mixed precision)技术在 AI 推理中的应用:用低精度格式存储/计算权重和激活值,同时在关键部分保留较高精度来维持生成质量,从而追求资源占用与生成质量的平衡。

目前主流的精度格式主要有以下几种:

  • FP32 (Float32):全精度,32 位浮点数。这是传统深度学习训练的标准格式,精度最高,但体积最大,对算力和显存要求极高。老款显卡(如10系及更早)通常只能跑这个精度,速度最慢。
  • FP16 (Float16):半精度,16 位浮点数。这是目前最通用的格式。它将模型体积缩小了一半,在支持它的显卡上能获得显著的速度提升。几乎所有现代显卡(20系及以上)都原生支持 FP16。
  • BF16 (Brain Float16):也是一种 16 位浮点数,但它的动态范围比 FP16 更大。它主要用于训练和推理,对显存要求低,且在支持它的硬件上效率极高。需要 30系(Ampere)及以上的显卡才能原生支持。
  • FP8 (Float8):8位浮点数,它将模型体积进一步压缩,推理速度极快,显存占用极低。这是 40系(Ada)和 50系(Blackwell)显卡的“独享”特性,能带来巨大的性能飞跃。
  • 更低精度(如GGUF量化、NVFP4等):GGUF 常用于 LLM 相关节点,支持 Q4/Q5/Q8 等比特量化,体积更小,可 CPU/GPU 混合运行。NVFP4 是 从 50系(Blackwell)显卡引入的新特性,目前主要利好新卡,且需匹配特定 PyTorch/CUDA 版本。

要更详细了解数据精度的话,推荐 B 站 UP 主飞天闪客的视频:【闪客】你管这破玩意叫 UE8M0?_哔哩哔哩_bilibili

2.3、寻找适合ComfyUI的模型

最省事的办法是在 HuggingFace 或者 魔搭社区 下载 ComfyUI 官方(Comfy-Org - HuggingFace / Comfy Org - 魔搭社区)提供的模型文件,基本包含了大部分的社区主流开源模型的 safetensors 文件,除此之外,ComfyUI 官方文档 里面有很多模型的工作流模板,也提供了其对应模型的下载链接。

对于新发布的、在 ComfyUI 官方仓库中找不到的模型来说,可以下载由社区大佬根据官方开源模型适配、微调、量化的模型。

以在 HuggingFace 下载 Z-Image-Turbo 模型为例,先找到其官方仓库在 Tongyi-MAI/Z-Image-Turbo · Hugging Face,在右侧的模型系谱中会显示社区在官方模型基础上进行 Adapters(适配)、Finetunes(微调)、Quantizations(量化)的版本(魔搭社区界面也是类似的)。

02

个人的经验是先在Finetunes(微调)找提供了 safetensors 文件、且下载人数比较多的仓库,没有合适的再从Adapters(适配)、Quantizations(量化)找。

仓库一般都会包含扩散模型(diffusion_model)、VAE 模型(vae)、CLIP 模型(text_encoder),下载下来放在对应的本地模型目录(unet/diffusion_models、vae、clip/text_encoder)即可。

如果只有一个 safetensors 文件,且命名中包含了 “AIO” 字样,那就是将扩散模型、VAE 模型和 CLIP 模型打包在一起的一体化模型,放在 checkpoint 目录中,如果命名中包含了 “AIO” 字样,说明只有扩散模型,VAE 模型和 CLIP 模型需要单独下载,不过很多生图模型用到的 VAE 模型和 CLIP 模型就 Qwen、ae 等几个,比较容易下载。

如果 ComfyUI 在运行时往模型目录添加了新模型,不用重启,在界面上按 R就能刷新模型与节点缓存。

3

评论

博主关闭了所有页面的评论