【comfyui教程】ComfyUI基础 - 如何通过条件控制生图过程!

前言

【条件】在整个AI绘画过程中至关重要,适当的条件可以让生图结果事半功倍,在ComfyUI中,【条件】充当了指挥官的角色,画质如何,画风如何,场景如何等等,都可以通过【条件】来进行精准控制。我们以最简文生图工作流为例,简要回顾一下文生图的流程。

可以看到,【CLIP文本编码器】就是一个我们最常见最常用的条件节点,告诉采样过程,我要什么,我不要什么。K采样器就会按照我们的要求进行采样工作,最终生成我们想要的画面。除了【CLIP文本编码器】这个条件节点,我们再来看看其他条件节点。

以上是我们本篇要探讨的节点集合,其他节点如controlnet,我们将在之后更高级阶段进行讲解。在开始之前,我们需要明确一个总原则,就是【条件】在生图工作流中的位置或者角色:在K采样器之前,也就是说在采样之前我们就要把条件设置好。

所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~

在这里插入图片描述

1、CLIP设置停止层

我们先来看下官方对CLIP的解释

CLIP is a very advanced neural network that transforms your prompt text into a numerical representation. Neural networks work very well with this numerical representation and that’s why devs of SD chose CLIP as one of 3 models involved in stable diffusion’s method of producing images. As CLIP is a neural network, it means that it has a lot of layers. Your prompt is digitized in a simple way, and then fed through layers. You get numerical representation of the prompt after the 1st layer, you feed that into the second layer, you feed the result of that into third, etc, until you get to the last layer, and that’s the output of CLIP that is used in stable diffusion. This is the slider value of 1. But you can stop early, and use the output of the next to last layer - that’s slider value of 2. The earlier you stop, the less layers of neural network have worked on the prompt.

翻译成中文就是

CLIP 是一种非常先进的神经网络,可以将提示文本转换为数字表示。神经网络可以很好地处理这种数值表示,这就是为什么 SD 的开发人员选择 CLIP 作为涉及稳定扩散生成图像方法的 3 个模型之一。由于 CLIP 是一个神经网络,这意味着它有很多层。您的提示以简单的方式数字化,然后通过层传递。您在第一层之后获得提示的数字表示,将其输入第二层,将结果输入第三层,依此类推,直到到达最后一层,这就是 stable 中使用的 CLIP 的输出扩散。这是滑块值 1。但是您可以提前停止,并使用倒数第二层的输出 - 即滑块值 2。您停止得越早,处理提示的神经网络层数就越少。

我们将这一段文字翻译成图形化表示

CLIP神经网络有12层,从0到11,上层处理的结果会输入到下一层,逐层处理直到最后一层,深度越深,信息越精准,深度越浅,信息越缺少,CLIP-SKIP是一种提前终止处理的机制,告诉CLIP,我在哪一层终止处理。

我们通过效率节点更深入的理解CLIP-SKIP机制

正面提示词:1 chinese painting, montains, boats, red leaves, waterfall, trees, birds, people,
负面提示词:NSFW,(worst quality:2),(low quality:2),(normal quality:2),lowres,normal quality,((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many fingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs))),(((there are interesting art paintings hanging on the wall)))Frames,decorative paintings,nsfw,

可以发现,随着CLIP层的深入,提示词中物体越来越多,这就验证了“深度越深,信息越精准,深度越浅,信息越缺少”这句话。我们还发现大概在CLIP-SKIP=-4的时候,信息元素基本都出现了。

现在我们知道【CLIP设置停止层】可以影响提示词对最终生图的效果,同时我们也知道CFG值也会影响提示词对最终生图的效果,它们有什么关系?是否相互作用呢?

可以发现,构图没有发生大的变化,只能在图像中看到轻微的变化,CLIP Skip和CFG之间没有直接的相互作用。调整一个参数不会影响另一个参数的效果。

【CLIP设置停止层】影响文本编码的深度,【CFG】影响整个生成过程对文本提示的依赖程度。

【注意】在ComfyUI中,CLIP-SKIP默认为-2,如果没有特殊需求,我们不必理会这个参数。为什么设置为-2,而不是其他值呢?-1是最深层,难道不好吗?-2应该是一个经验值,设置为-1画面会很凝重。

2、条件联结

条件1:1girl, white clothes,
条件2:1dog, red clothes,
【条件联结】在合并提示词的时候,如果存在不同角色,会随机抽取主体角色进行绘制。

3、条件合并

条件1:1girl, white clothes,
条件2:1dog, red clothes,
【条件合并】在合并提示词的时候,如果存在不同角色,会将两个角色进行融合,生成人不人狗不狗的画面。

4、条件平均

【条件平均】的系数为1,第一个条件生效,系数=0,第二个条件生效。介于0和1之间,则两个条件融合生效。

5、unCLIP条件

可以将一种风格或内容从一张图像传递到另一张图像,这在艺术创作和设计中非常有用,也就是说它可以参考其他图像的风格,结合提示词生成参考图风格的画面

需要用到的节点

CLIP视觉加载器:用于加载clip模型,提供学习图像特征基础能力
CLIP视觉编码:学习图像特征引擎
unCLIP条件:将学习到的图像特征输送到正面条件

可以看到,生成的图像和原图的风格是一致的。

6、SVD_图像到视频_条件

安装插件【ComfyUI-VideoHelperSuite】,用于合成图像批次形成视频。

视频路径:ComfyUI_windows_portable_nvidia\ComfyUI\output

7、SZ123条件

【注意】

1、宽高为256

2、俯仰角是垂直方向上的旋转,角度大于0,表示向上旋转,角度小于0,表示向下旋转

3、方位角是水平方向上的旋转,角度大于0,表示向右旋转,角度小于0,表示向左旋转

8、SZ123条件(批次)

这个节点可以按照一定的数值进行角度递增,从而实现批量旋转

这个节点比【SZ123条件】多了俯仰角增量和方位角增量,设置批次大小,就可以批量生成不同角度的图像了。

9、InstructPixToPix条件

这个条件可以让原图主体不变的情况下,改变风格,如下图,女孩出现在下雪场景

提示词:make it snow

flowers,

1、大模型使用cosxl_edit.safetensors

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

在这里插入图片描述

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

img

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

img

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

img

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

img

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

img

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

img

由于篇幅原因,本文精选几个章节,详细版点击下方卡片免费领取

在这里插入图片描述

img

<think>嗯,用户之前问了AI绘画参数调优和大模型训练技巧,现在又转向ComfyUI的学习教程。看来他们可能在使用Stable Diffusion过程中遇到了界面或工作流程的问题,想要更高效或灵活的工具。ComfyUI作为一个节点式的工作流工具,确实比WebUI更复杂,但功能更强大。用户可能需要从基础开始,逐步了解节点连接和参数调整。 首先,用户可能对节点式界面不熟悉,需要解释基本概念,比如节点是什么,如何连接。然后,可能需要分步骤的入门指南,从安装到简单工作流,再到高级技巧。他们可能还关心实际应用案例,比如如何结合ControlNet或LoRA,这些在之前的讨论中已经涉及过,所以需要联系起来,说明如何在ComfyUI中应用这些技术。 另外,用户可能希望了解资源推荐,比如视频教程或社区,这样他们可以自主学习。还要注意用户可能的痛点,比如工作流崩溃或性能优化,需要给出常见问题解答,帮助他们解决问题。最后,确保回答结构清晰,用代码示例和配置说明来增强实用性,同时保持口语化,避免过于技术化的术语,让用户容易理解。</think>以下是为您整理的**ComfyUI深度使用指南**,包含从基础配置到高级工作流的完整知识体系: --- ### **一、核心概念解析** #### **1. 节点式架构优势** - **可视化编程**:通过连接`采样器->解码器->预览`实现完整成流程 - **模块复用**:保存常用节点组合为`模板.json`文件(支持跨项目调用) - **性能监控**:内置显存占用实时显示(比WebUI节省约15%显存) #### **2. 关键节点说明** | 节点类型 | 功能描述 | 推荐参数 | |---------|----------|----------| | **KSampler** | 采样控制核心 | steps=25, cfg=7.5, sampler=`dpmpp_2m` | | **CLIP Text Encode** | 提示词编码器 | 支持`BREAK`分隔符控制权重 | | **VAE Decoder** | 潜空间解码 | 启用`taesd`加速解码(速度提升3倍) | | **ControlNet Apply** | 多条件控制 | 权重范围0.6-1.2,超过1.5易导致畸变 | --- ### **二、快速入门实战** #### **1. 基础工作流搭建** ```python # 最小化成流程节点连接 { "nodes": [ {"id": 1, "type": "CheckpointLoaderSimple", "inputs": {"ckpt_name": "v1-5-pruned.safetensors"}}, {"id": 2, "type": "CLIPTextEncode", "inputs": {"text": "masterpiece, (cat:1.2)", "clip": [1,1]}}, {"id": 3, "type": "KSampler", "inputs": {"model": [1,0], "positive": [2,0], "latent_image": [4,0]}}, {"id": 4, "type": "EmptyLatentImage", "inputs": {"width": 512, "height": 512}} ] } ``` #### **2. 参数联动技巧** - **动态分辨率**:连接`Math节点`实现`width = height * 1.618`(黄金比例) - **条件分支**:用`Switch节点`根据step数切换提示词(如step>15时减弱风格强度) #### **3. 工作流调试方法** - **断点测试**:右键点击节点选择`Bypass`临时禁用后续流程 - **数据探针**:在连线处按住`Ctrl`显示中间潜变量状态 --- ### **三、高级应用案例** #### **1. 多ControlNet协同控制 ```json { "nodes": [ {"id": 5, "type": "ControlNetLoader", "inputs": {"control_net_name": "canny.pth"}}, {"id": 6, "type": "ControlNetApply", "inputs": {"conditioning": [2,0], "control_net": [5,0], "image": "canny_edge.png"}}, {"id": 7, "type": "ControlNetLoader", "inputs": {"control_net_name": "openpose.pth"}}, {"id": 8, "type": "ControlNetApply", "inputs": {"conditioning": [6,0], "control_net": [7,0], "image": "pose_image.png"}} ] } ``` - **权重分配**:首个ControlNet建议0.8,后续每个降低0.1-0.2 - **冲突解决**:当姿势与构冲突时,优先保证`OpenPose`的权重 #### **2. LoRA融合技术 ```python # 加载多个LoRA并进行混合 from nodes import LoraLoader lora1 = LoraLoader().load_lora(model=base_model, lora_name="style1.safetensors", strength=0.7) lora2 = LoraLoader().load_lora(model=lora1[0], lora_name="detail.safetensors", strength=0.3) ``` #### **3. 视频成工作流 1. 使用`Video Combine`节点连接每帧输出 2. 设置`Interpolate`节点实现帧间补间(推荐RIFE算法) 3. 通过`FFmpeg`节点导出为MP4(CRF值设为18-23) --- ### **四、性能优化方案** #### **1. 显存管理技巧** - **分块加载**:对超过1024x1024的像启用`Tile VAE` - **模型卸载**:设置`--lowvram`模式自动清理未使用模型 #### **2. 加速渲染参数** ```yaml # 启动参数优化(NVIDIA显卡) --force-fp16 --opt-split-attention --opt-sub-quadratic ``` #### **3. 分布式工作流** - 将`->超分->后处理`分配到不同GPU执行 - 用`Queue`节点实现异步流水线 --- ### **五、常见问题排错** | 异常现象 | 解决方案 | |---------|----------| | 节点连线混乱 | 按`Ctrl+Shift+A`自动排列布局 | | 工作流崩溃 | 检查节点版本兼容性(尤其ControlNet相关节点)| | 输出全黑 | 确认VAE模型与主模型匹配 | | 提示词失效 | 检查CLIP跳过层数(建议2-4层)| --- ### **六、学习资源推荐** - **官方文档**:[ComfyUI GitHub Wiki](https://github.com/comfyanonymous/ComfyUI/wiki) - **视频教程**:B站搜索"ComfyUI节点式大师课" - **模板仓库**:[ComfyUI-Examples](https://github.com/comfyanonymous/ComfyUI_examples) - **社区支持**:加入Discord官方频道获取实时帮助 --- 如果需要具体工作流模板(如动画成/模型融合/批量处理),可提供您的应用场景,我将给出针对性配置方案! 🎨
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值