Monthly Archives: 7 月 2025

AIGC

【AIGC】ComfyUI常用概念备忘—-节点、数据、模型类型

一. 常见节点类型与作用

节点按照功能大致可以分为以下几类:

1. 加载模型节点

  • Checkpoints Loader:加载 .ckpt.safetensors 模型,输出模型检查点(Model Checkpoint)。

  • VAE Loader:加载对应的 VAE 文件。

  • CLIP Loader:加载用于文本编码的 CLIP 模型。

2. 文本提示节点

  • CLIP Text Encode:将用户输入的 Prompt 编码为语义向量(Text Condition),可作为生成条件。

  • CLIP Text Encode (Negative):负向提示词,用于去除不希望生成的元素。

3. 采样节点

  • KSampler:图像采样器,接收模型、提示、初始噪声等,生成最终图像。

  • KSampler (Advanced):带更多可控参数的采样版本。

4. 噪声和图像节点

  • Empty Latent Image:创建空白的潜空间图像张量(latent),用于起始输入。

  • Noise:生成随机噪声。

  • Latent to Image:将生成的 latent 图像解码为可见图像。

  • Image to Latent:将实际图像转换为 latent 表示。

5. 图像处理节点

  • Resize Image:改变图像分辨率。

  • Crop Image:裁剪图像。

  • Load Image / Save Image:读取/保存图像文件。

6. 控制模块

  • ControlNet Loader:加载 ControlNet 模型。

  • Apply ControlNet:在图像生成中应用 ControlNet 条件。

  • T2I Adapter:另一种控制模块,用于风格/姿态控制。

二. 节点之间的数据类型传递

不同节点之间的连接线,传递的是特定类型的数据:

数据类型 说明 常见来源 常见去向
Model Checkpoint 主模型结构及权重 Checkpoints Loader KSampler
CLIP Text Condition 文本提示的向量表示 CLIP Text Encode KSampler
Latent Image 潜空间图像(未解码) Empty Latent Image / KSampler Latent to Image
Image 普通 RGB 图像 Load Image / Latent to Image Resize / Save Image
Noise 随机噪声 Noise 节点 KSampler
VAE 解码器/编码器模型 VAE Loader Latent to Image 等
ControlNet Condition 条件图像等 Apply ControlNet KSampler
Prompt 文本字符串 用户输入 CLIP Text Encode

三. 常见模型格式

1. .safetensors(安全张量)

  • 开发者:由 Hugging Face 团队推出。

  • 优点

    • 安全:不使用 Python pickle,防止执行恶意代码。

    • 更快加载:支持零拷贝映射(mmap),加载速度更快。

    • 结构简单清晰:专门用于张量权重的存储。

  • 使用场景

    • 在 Hugging Face、ComfyUI、Diffusers 等生态中日益流行。

  • 适合谁:推荐在生产或部署时使用,因为它安全、加载快。


 2. .ckpt(Checkpoint)

  • 全称:checkpoint,常见于 TensorFlow、PyTorch。

  • 来源:Stable Diffusion 早期模型多使用此格式(如 v1-5-pruned.ckpt)。

  • 问题

    • 通常使用 Python 的 pickle 保存,存在代码执行风险

    • 体积通常大,因为可能包含训练中所有模块(如优化器、调度器等)。

  • 使用场景

    • 原始模型训练中保存断点,或早期模型发布格式。

  • 适合谁:用于开发调试或旧项目兼容。


 3. .pth(PyTorch权重)

  • 来源:PyTorch 官方推荐格式,用于保存 state_dict

  • 优点

    • 简洁,仅保存模型权重(不包含结构定义)。

  • 问题

    • 同样依赖 Python pickle存在安全隐患

    • 不跨平台,必须在 PyTorch 中读取。

  • 使用场景

    • 自己训练的模型中广泛使用。

  • 适合谁:熟悉 PyTorch 的用户、开发时保存模型权重。


4. .onnx(Open Neural Network Exchange)

  • 来源:微软、Facebook 主导开发的 跨平台格式

  • 优点

    • 跨框架:可在 PyTorch、TensorFlow、ONNX Runtime、NVIDIA TensorRT 等中使用。

    • 适合部署:结构与权重同时包含,适合导入推理引擎。

  • 使用场景

    • 导出模型用于 Web、移动、C++ 等非 Python 环境。

  • 适合谁:需要模型跨平台部署或优化推理性能的开发者。


5. .gguf(Grokking General Unified Format)

  • 来源ggml 系列项目(如 llama.cpp)推出的新格式,继承自 .ggml

  • 目标:用于 轻量化模型的本地推理,尤其适用于 CPU-only 运行、边缘设备。

  • 特点

    • 支持量化(如 Q4_0、Q5_K),文件体积小。

    • 与 LLaMA、Mistral、Gemma 等 LLM 配合使用。

  • 使用场景

    • 本地轻量推理(例如在 Mac、树莓派、安卓手机上运行大模型)。

  • 适合谁:希望在设备端低资源环境中运行 LLM 的用户。

四. 模型的量化与压缩

1. 什么是量化?

在原始训练后的模型中,权重通常是使用 32 位浮点数(float32) 存储的。

而“量化”就是将这些高精度浮点权重,转换为更低位数的整数表示,比如:

类型 原始精度 压缩后的精度 示例
FP32(float32) 32位浮点数 原始模型
Q8 8位整数 精度略下降 常见于轻量推理
Q4_0Q5_K 4位/5位整数 进一步压缩 gguf 格式中常见

2.为什么要量化?

目的 效果
减少文件体积 从几 GB 缩小到几百 MB,适合本地推理(尤其 CPU)
提升推理速度 整数计算比浮点计算快,适用于边缘设备
降低内存占用 低位宽张量占用更少 RAM,可在内存有限设备运行
⚠️ 略微精度损失 通常影响有限,尤其是在大模型中微不足道

3. Q4_0、Q5_K 是什么?

它们是不同的 量化等级/方法,你可以理解为压缩的“清晰度级别”:

量化等级 位宽 精度 文件体积 说明
Q8_0 8 位 精度几乎不变
Q5_K 5 位 性能和质量折中
Q4_0 4 位 极限压缩,精度略降

4. 浮点精度降低(压缩) vs 整数量化(量化)

项目 FP32 ➝ FP16/FP8 FP32 ➝ INT8 / Q4_0
类型 浮点 ➝ 浮点 浮点 ➝ 整数
是否严格算量化 ❌ 严格来说不是 ✅ 是标准量化
是否有指数位 ✅ 有(保留范围) ❌ 无(线性/分段)
计算精度 比较高,近似 FP32 精度低,依赖校准或训练
加速平台 GPU(如 NVIDIA Tensor Cores) CPU / GPU / 推理芯片
AIGC

【AIGC】ComfyUI+Flux日常P图示例:换装、局部修改

今天来介绍一个ComfyUI-Flux的换装工作流。和ComfyUI示例里自带的类似功能工作流相比,此工作流增加了一个“PaintEditor”节点,作用是可以用画笔圈出说要修改的部位,这样可以让ComfyUI做出更精确的修改,同时又尽可能的保留原图其他部分的状态,话不多说,我们先来看一下实际的效果:

Before imageAfter image

(提示词:Change the clothing in the red-framed area to Leopard print skirt everything else in the image exactly the same, including all other people, background, poses, and facial features.)

可以看出,除了提示词要求的修改短裙,包括模特的面部表情、姿势在内的整张图的其他部分均未改变,甚至面部阴影也没有变化。

关于PaintEditor节点,安装地址:https://github.com/Pixelailabs/paint_editor。关键步骤:点击paint_editor节点里的“open paint editor”按钮,并用红笔圈出要修改的部分

如上图,除了修改服装,这个工作流还可以修改图片中的其他元素,比如:

Before imageAfter image

(提示词:Change the horse in the red-framed area to the Ostrich …)

Before imageAfter image

(提示词:Change the character in the red-framed area to the Ultraman…)

点击这里下载此工作流。

——
over
转载请注明出处:http://www.jiangkl.com/2025/07/aigc_comfyui_flux_change_clothes/