ComfyUI进阶篇:ComfyUI核心节点(一)

前言:

学习ComfyUI是一场持久战。当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点。面对各种各样的工作流和复杂的节点种类,可能会让人感到不知所措。在这篇文章中,我们将用通俗易懂的语言对ComfyUI的核心节点进行系统梳理,并详细解释每个参数。希望大家在学习过程中培养自我思考的能力,真正掌握和理解各个节点的用法与功能。在实践中不断提升自己的技术水平。只有通过不断的探索和总结,才能在面对复杂的工作流时游刃有余。祝大家学习顺利,早日成为ComfyUI的高手!

目录:

一、Load Checkpoint节点

二、Load Checkpoint with config节点

三、CLIP Set Last Layer节点

四、CLIP Text Encode (Prompt)节点

五、KSampler节点

六、Empty Latent image节点

七、VAE Decode节点

八、Save image节点

九、文生图示例工作流

一、Load Checkpoint节点

在ComfyUI中,Load Checkpoint节点是一个非常重要的核心节点。其功能是加载checkpoint大模型,常用的大模型有sd1.0、sd1.5、sd2.0、sd3.0、sdXL等。

输入

ckpt_name -> 自行选择在模型网站下载好的大模型(在用WebUI时下载了大模型的可以共享路径文件,节省磁盘空间)

输出

MODEL -> 该模型用于对潜空间图片进行去噪

CLIP -> 该模型用于对Prompt进行编码

VAE -> 该模型用于对潜在空间的图像进行编码和解码

注意:·StableDIffusion大模型(checkpoint)内置有CLIP和VAE模型

·另加载大型模型时,可能会耗费较长时间或占用大量内存,确保系统资源充足,避免因资源不足而导致的加载失败。

  1. Load Checkpoint with config节点

该节点是一个高级的节点,用于加载checkpoint大模型并同时应用config文件中指定的设置。

输入:

Config_name -> 指定要加载的检查点文件的路径

Ckpt_name -> 自行选择在模型网站下载好的大模型

输出:

MODEL -> 该模型用于对潜空间图片进行去噪

CLIP -> 该模型用于对Prompt进行编码

VAE -> 该模型用于对潜在空间的图像进行编码和解码

注意:确保checkpoint文件和config文件与当前使用的ComfyUI版本兼容

  1. CLIP Set Last Layer节点

对CLIP进行微调并调整最后一层(Set Last Layer)。该节点用来设置选择CLIP模型在第几层的输出数据,提高模型在目标任务上的表现。

输入:

clip -> 接收用于对prompt进行编码的CLIP模型

输出:

CLIP -> 具有新设置的输出层的CLIP模型。

参数:

stop_at_clip_layer -> 设置CLIP模型在第几层进行数据输出

注意:CLIP模型对prompt进行编码的过程中,可以理解为对原始文本进行层层编码,该参数就是选择我们需要的一层编码信息,去引导模型扩散。

  1. CLIP Text Encode (Prompt)节点

该节点用来输入正反向提示词,也就是“文生图”,“文生视频”中“文”的输入位置

输入:

clip -> 接收用于对prompt进行编码的CLIP模型

输出:

CONDITIONING -> 将文本信息通过CLIP模型编码,形成引导模型扩散的条件信息

参数:

文本输入框 -> 输入需要模型生成的文本信息,正向提示词及反向提示词

注意:当前prompt仅支持英文的输入,但可通过安装插件实现中文实时翻译

  1. KSampler节点

该节点专门用于逐步减少潜在空间图像中的噪声,改善图像质量和清晰度。

输入:

model -> 接收来自大模型的数据流

positive -> 接收经过clip编码后的正向提示词的条件信息(CONDITIONING)

negative -> 接收经过clip编码后的反向提示词的条件信息(CONDITIONING)

latent_image -> 接收潜空间图像信息

输出:

LATENT -> 经过KSampler采样器进行去噪后的潜空间图像

参数:

seed -> 在去除图像噪声过程中使用的随机数种子。种子数有限,影响噪声生成的结果

control_after_generate -> 指定种子生成后的控制方式

fixed代表固定种子,保持不变

increment代表每次增加1

decrement代表每次减少1

randomize代表随机选择种子

steps -> 对潜在空间图像进行去噪的步数。步数越多,去除噪声的效果可能越显著

cfg -> 提示词引导系数,表示提示词对最终结果的影响程度。过高的值可能会产生不良影响。

sampler_name -> 选择的采样器名称,不同的采样器类型可以影响生成图像的效果,大家可以根据需求进行选择和实验

scheduler -> 选择的调度器名称,影响生成过程中的采样和控制策略,推荐配置可提供更好的结果

denoise -> 去噪或重绘的幅度,数值越大,图像变化和影响越显著。在高清修复等任务中,通常使用较小的值以保持图像细节和质量

  1. Empty Latent image节点

该节点用来控制纯噪声的潜空间图像及比例。

输出:

LATENT -> 输出指定形状和数量的潜空间图像

参数:

width -> 要生成潜空间图像的宽度

height -> 要生成潜空间图像的高度

batch_size -> 需要生成多少张潜空间图像

注意:sd1.0、sd1.5等模型来说最佳尺寸为512*512

sd2.0、sd3.0等模型来说最佳尺寸为1024*1024

  1. VAE Decode节点

该节点用来将潜空间图像解码到像素级的图像。

输入:

samples -> 接收经过 KSampler 采样器处理后的潜在空间图像, 用于后续的处理或展示

vae -> 接收用于解码潜在空间图像的 VAE 模型, 大部分情况下,模型的检查点(checkpoint)会包含 VAE,当然也可以单独加载一个VAE模型

输出:

IMAGE -> 输出经过 VAE 解码后可直接查看的图像

  1. Save image节点

该节点用来保存image图像

输入:

images -> 保存图像

Tips:一般保存的图像会在你的ComfyUI文件夹中(eg:安装盘:\Comfyui\ComfyUI\output )

  1. 文生图示例工作流

熟悉以上所有节点之后,你就可以搭建第一个“文生图”工作流了

这里使用了sd1.5的大模型,所以latent图像设置512*512,正向提示词输入1 girl,反向提示词输入NSFW避免出现不能播的内容,采样器KSampler使用默认设置,最终出图如下:

孜孜以求,方能超越自我。坚持不懈,乃是成功关键。

ComfyUI进阶篇:ComfyUI核心节点(一)的更多相关文章

  1. 「进阶篇」Vue Router 核心原理解析

    前言 此篇为进阶篇,希望读者有 Vue.js,Vue Router 的使用经验,并对 Vue.js 核心原理有简单了解: 不会大篇幅手撕源码,会贴最核心的源码,对应的官方仓库源码地址会放到超上,可以配 ...

  2. 如约而至,Java 10 正式发布! Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势 努力的孩子运气不会太差,跌宕的人生定当更加精彩 优先队列详解(转载)

    如约而至,Java 10 正式发布!   3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ...

  3. flink进阶篇

    Flink 面试--进阶篇 1.Flink是如何支持批流一体的? 2.Flink是如何做到高效的数据交换的? 3.Flink是如何做容错的? 4.Flink 分布式快照的原理是什么? 5.Flink ...

  4. MYSQL(进阶篇)——一篇文章带你深入掌握MYSQL

    MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大 ...

  5. Jmeter(三十九) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 上篇(详解教程)

    ------------------------------------------------------------------- 转载自:北京-宏哥 https://www.cnblogs.co ...

  6. Membership三步曲之进阶篇 - 深入剖析Provider Model

    Membership 三步曲之进阶篇 - 深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它. Membershi ...

  7. idea 插件的使用 进阶篇

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 idea 插件的使用 进阶篇(个人收集 ...

  8. 最快让你上手ReactiveCocoa之进阶篇

    前言 由于时间的问题,暂且只更新这么多了,后续还会持续更新本文<最快让你上手ReactiveCocoa之进阶篇>,目前只是简短的介绍了些RAC核心的一些方法,后续还需要加上MVVM+Rea ...

  9. SQL Server调优系列进阶篇(查询语句运行几个指标值监测)

    前言 上一篇我们分析了查询优化器的工作方式,其中包括:查询优化器的详细运行步骤.筛选条件分析.索引项优化等信息. 本篇我们分析在我们运行的过程中几个关键指标值的检测. 通过这些指标值来分析语句的运行问 ...

  10. SQL Server调优系列进阶篇(如何索引调优)

    前言 上一篇我们分析了数据库中的统计信息的作用,我们已经了解了数据库如何通过统计信息来掌控数据库中各个表的内容分布.不清楚的童鞋可以点击参考. 作为调优系列的文章,数据库的索引肯定是不能少的了,所以本 ...

随机推荐

  1. SpringBoot-Http请求工具类

    一.编写请求配置类 import com.alibaba.fastjson.JSONObject; import org.springframework.context.annotation.Conf ...

  2. 简单聊一聊Java的历史

    Java这门语言有很多不可忽视的优点,比如一次编写到处运行,又比如它有一个相对安全的内存管理和访问机制,避免了C++中经常出现的内存泄露和指针越界问题等等,java带来的这些好处,让我们这些java程 ...

  3. uniapp中OnShow获取缓存

    点击查看代码 function getStorage(key) { return new Promise((resolve, reject) => { uni.getStorage({ key: ...

  4. AIRIOT物联网低代码平台如何配置三菱PLC驱动?

    三菱PLC驱动配置使用三菱Melsec协议(MC协议)从三菱PLC读取数据,仅支持以太网方式.三菱PLC都可以通过此协议访问,但是需要对PLC进行设置. AIRIOT物联网低代码平台如何配置三菱PLC ...

  5. java的synchronized有几种加锁方式

    在Java中,synchronized关键字提供了内置的支持来实现同步访问共享资源,以避免并发问题.synchronized主要有三种加锁方式: 1.同步实例方法 当一个实例方法被声明为synchro ...

  6. C#的奇技淫巧:利用WinRM来远程操控其他服务器上的进程

      前言:有时候远程服务器的进程你想偷偷去围观一下有哪些,或者对一些比较调皮的进程进行封杀,或者对一些自己研发的服务进行远程手动启动或者重启等,又不想打开远程桌面,只想悄咪咪地执行,那也许下面的文章会 ...

  7. Vue.js条件渲染与列表渲染指南

    title: Vue.js条件渲染与列表渲染指南 date: 2024/5/26 20:11:49 updated: 2024/5/26 20:11:49 categories: 前端开发 tags: ...

  8. 基于 OAuth2.0 协议的单点登录系统方案设计

    一.什么是单点登录? 单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一.SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用 ...

  9. Flutter(六):Flutter_Boost接入现有原生工程(iOS+Android)

    本篇博客会介绍如何通过第三方插件Flutter_Boost实现接入原有工程. 如果不希望引入第三方插件,可以参考博客Flutter混合开发--接入现有原生工程(iOS+Android) 一.新建原生工 ...

  10. 论elasticsearch在Windows环境的安装

    前置需求 一台电脑(我用的是Windows),有网 第一步:下载并安装 去java官网下载开发版java(考虑到可能有小白,我暂且这么说) java官网下载链接:https://www.oracle. ...