当前位置: 首页 > news >正文

超详细!ComfyUI 全方位入门指南,初学者必看,附多个实践操作

本文正文字数约 8300 字,阅读时间 20 分钟。如果按照文章实操一遍,预计时间在半小时到两小时不等。

我还是推荐在自己电脑上自行搭建一套 GUI(也就是用户图形界面)来学习和使用 Stable Diffusion,也就是本文即将介绍的 ComfyUI

本文将为你提供一份全面的 ComfyUI 入门指南,涵盖从 ComfyUI 的介绍,到它的生图工作流程,再到实操。我将通过简单的一些生图流程案例来向你介绍 ComfyUI 中的各项操作。

ComfyUI 官网:https://www.comfy.org/
文章中使用的工作流都可以扫码获取
在这里插入图片描述

目录

  • • ComfyUI 简介

  • • ComfyUI 的安装

  • • ComfyUI 工作流:文生图

  • • ComfyUI 的工作机制

  • • ComfyUI 工作流:图生图

  • • ComfyUI 各模型对比

  • • ComfyUI Inpainting

  • • ComfyUI Outpainting

  • • ComfyUI Upscale

  • • ComfyUI Manager

  • • ComfyUI Embeddings

  • • ComfyUI LoRA

  • • 总结

ComfyUI 简介

ComfyUI 是一个基于节点的 GUI,为 Stable Diffusion 提供了一种更加直观、灵活的方式来操作和管理生成的过程。通过将不同的模块(也就是节点)组合在一起,我们可以构建一个图像生成的工作流。

ComfyUI vs. AUTOMATIC1111

AUTOMATIC1111 也是一款有着大量用户使用的 Web UI,那么它与 ComfyUI 的区别是什么呢?

相对于 AUTOMATIC1111 来说,使用 ComfyUI 有下面这些优势:

  • • 轻量化,运行速度更快

  • • 高度灵活可配置

  • • 数据流清晰可见

  • • 每个文件都是可复现的工作流,便于分享

不过,ComfyUI 的学习曲线相对于 AUTOMATIC1111 来说要更为陡峭,需要更多的耐心和摸索。

AUTOMATIC1111 官方 GitHub:https://github.com/AUTOMATIC1111/stable-diffusion-webui,这里有关于 AUTOMATIC1111 的安装和使用教程。

ComfyUI 的安装

关于 ComfyUI 的安装,可以直接参考官方文档:https://docs.comfy.org/get_started/pre_package。

Windows 用户可以直接访问上面的链接来下载安装包进行安装,但是 Mac 或者 Linux 用户需要参考手动安装教程:https://docs.comfy.org/get_started/manual_install。

手动安装 ComfyUI 需要你对命令行有所了解。

下载模型

ComfyUI 安装包里并没有包含模型文件,所以如果需要使用它来生图,需要我们自行下载模型文件并放置到 ComfyUI 的安装目录里。

可以在 HuggingFace 上根据自己电脑的配置来选择不同的 Stable Diffusion 模型:https://huggingface.co/models?search=stable-diffusion,同时,ComfyUI 还支持最新的 SDXL 模型。

我选择的是 stable-diffusion-3-medium 这个模型,总共大小在 50G 左右。

我这里也分享一下我下载模型的过程,毕竟这中间也遇到了一些问题,我会在这里列举出主要的步骤,你可以按照我给出的步骤来下载大模型,如果遇到问题也欢迎留言。

如果你也遇到了 Error while deserializing header: HeaderTooLarge 这种类似的问题,那可能就是模型文件没下载对。

1、安装 `git-lfs`

由于模型文件都特别大,所以不能使用常规的 git 命令来下载,需要安装 git-lfs,具体可以参考官方的安装说明:https://git-lfs.com/。

2、到 HuggingFace 上添加 SSH Key 或者 Access Token

3、开始下载模型

经过前两个步骤之后,现在就可以开始下载模型了。

我们第一步可以先下载模型的文件指针,这些文件就很小,通常只有一两百 kb。

GIT_LFS_SKIP_SMUDGE=1 git clone git@hf.co:stabilityai/stable-diffusion-3-medium

随后,再执行下面这个命令就可以了,这一步根据你的网络情况耗费的时间可能会或长或短:

git lfs pull

4、将模型文件放入 ComfyUI 的安装目录

找到模型目录里的 .ckpt 或者 .safetensors 文件,将其放入 ComfyUI 目录下的 models/checkpoints 目录下就可以了。

要学习 ComfyUI,最好的方式就是直接通过案例来练习。所以我们将从最简单的文生图工作流程开始。

ComfyUI 工作流:文生图

成功运行 ComfyUI 之后,按照其默认配置,在电脑浏览器上打开 http://127.0.0.1:8188/ 应该就能看到下面这样的界面。

界面上的节点和整个画布都可以拖动,也可以放大缩小。

ComfyUI 为我们提供了一个默认的文生图工作流。直接点击右边的 Queue Prompt 就能够触发生图流程,你可以看到有个绿色的边框会随着流程的进展在不同的节点上显示。

整个工作流由两个基本的部分组成:节点(Nodes)和边(Edges)

  • • 每一个矩形块就是一个节点,比如 Load Checkpoint CLIP Text Encoder 等。可以把每个节点看成是函数,它们都具有输入输出参数三个属性。

  • • 连接每个节点的输入和输出的线就是边。

其他还有很多的细节和概念,我将会在接下来的内容中逐步解释。

我们直接从这个默认工作流开始,它包含了下面这些步骤。

1、选择模型

首先需要在 Load Checkpoint 这个节点中选择一个模型,这里的模型选项就是在上文中下载的那些模型文件。比如我这里就放置了多个可选的模型,我可以根据自己的需求选择我想要使用的模型。

2、构造提示语

选择完模型,下一步就是构造提示语了。

在界面上,有两个 CLIP Text Encode (Prompt) 节点,这两个节点都是用来构造我们的提示语的。

其中,上面一个节点用来输入正向提示语(Positive Prompt),即告诉模型做什么,而下面一个节点则用来输入负面提示语(Negative Prompt),即告诉模型不要做什么

如果觉得容易混淆,可以像我这样直接双击节点名称改成它对应的功能的名称,就像下面这样。

当然,其实从图上节点之间的连接方式也能看出来哪一个是正向哪一个是负向的。

CLIP Text Encode 节点的作用是将提示语转换为标记,然后通过文本编码器将它们处理为嵌入(Embeddings)

你可以使用 (关键词:权重) 的这样的语法来控制关键词的权重。

比如,使用 (keyword:1.2) 来增强效果,或 (keyword:0.8) 来减弱效果。

3、生成图像

点击右边的 Queue Prompt,等待一会儿就能够看到有一张图像生成完成了。

ComfyUI 的工作机制

这一个章节涉及一些 ComfyUI 底层的工作机制,如果不想看可以直接跳过。

ComfyUI 的强大之处就在于它的高度可配置性。熟悉每个节点的功能之后可以让我们轻易地根据需求来定制化操作。

在介绍图生图工作流之前,我需要先向你详细介绍一下 ComfyUI 的工作机制。

Stable Diffusion 的生图过程可以总结为以下三个主要步骤:

    1. 文本编码:用户输入的提示语通过一个称为文本编码器(Text Encoder) 的组件编译成各个单词的特征向量。这一步将文本转换为模型可以理解和处理的格式;
    1. 潜在空间(Latent space)转换:来自文本编码器的特征向量与一个随机噪声图像一起被转换到潜在空间。在这个空间中,随机图像根据特征向量进行去噪处理,得到一个中间产物。这一步生图过程的是关键所在,因为模型会在这里学习将文本特征与视觉表现相联系。
    1. 图像解码:最后,潜在空间中的中间产物由图像解码器(Image Decoder) 进行解码,转换为我们可以看到的实际图像。

潜在空间(Latent Space) 是机器学习和深度学习中用于表示高维复杂数据的一个低维空间。它是对数据的一种压缩和抽象,可以理解为对原始数据(如图像、文本等)的简化表示。

了解了 Stable Diffusion 层面的生图流程之后,接下来我们深入了解一下 ComfyUI 在实现这个过程中的关键组件和节点。

Load Checkpoint 节点

Load Checkpoint 节点会加载一个模型,一个 Stable Diffusion 模型主要包含以下三个部分:

MODEL

MODEL 组件是一个在潜在空间(Latent Space)中运行的噪声预测模型。

这句话的意思是 Stable Diffusion 模型在潜在空间中对图像的生成过程进行建模,并通过预测和去除噪声逐渐还原图像的过程。

具体来说就是,在 Stable Diffusion 中,图像生成首先在潜在空间中引入随机噪声,然后模型通过一系列步骤逐渐去除这些噪声,生成符合提示语的图像。

这种逐步去噪的过程由噪声预测模型来完成。潜在空间是图像的一个简化、高度抽象化的表示,可以降低模型的计算复杂度,可以让模型在生成图像时更高效。

在 ComfyUI 中,Load Checkpoint 节点的 MODEL 输出连接到 KSampler 节点,KSampler 节点执行反向扩散过程。

KSampler 节点利用 MODEL 在潜在表示中进行迭代去噪,逐步优化图像,直到它符合给定的提示语。

CLIP (Contrastive Language-Image Pre-training)

CLIP 其实是一个负责预处理用户提供的正向和负面提示语的语言模型。它将文本提示转换为 MODEL 可以理解的格式,指导图像生成过程。

在 ComfyUI 中,Load Checkpoint 节点的 CLIP 输出连接到 CLIP Text Encode 节点。CLIP Text Encode 节点获取用户提供的提示语,并将它们输入到 CLIP 语言模型中,转换为向量嵌入。

这些向量嵌入可以捕捉单词的语义,为 MODEL 生成符合提示语的图像提供更多的指导。

VAE (Variational AutoEncoder)

VAE 负责在像素空间和潜在空间之间转换图像。

它包含一个编码器和一个解码器,其中,编码器用于将图像压缩为低维的潜在表示,而解码器用于从潜在表示中重建图像。

在文生图的过程中,VAE 仅在最后一步使用,它的作用就是将生成的图像从潜在空间转换回像素空间。

ComfyUI 中的 VAE Decode 节点获取 KSampler 节点的输出,并利用 VAE 的解码器部分将潜在表示转换为最终的像素空间图像。

VAECLIP 语言模型是独立的组件。CLIP 主要处理文本提示语,而 VAE 负责在像素空间和潜在空间之间进行转换。

关于潜在空间和像素空间的区别,可以理解为像素空间是图像的可见表现形式,而潜在空间是对图像进行内部操作和处理的一种简化表示。Stable Diffusion 在潜在空间中生成图像,再通过 VAE 将其转换回像素空间,然后获得最终的图像。

到目前为止,我只介绍了整个工作流中的第一个节点,接下来我会继续介绍后续的节点。

CLIP Text Encode 节点

在上文中有提到,在 CLIP Text Encode 节点中我们可以输入生成图像的提示语,而这个节点的作用就是获取我们提供的提示语,并将其输入到 CLIP 语言模型中。

CLIP 是一个强大的语言模型,能够理解单词的语义并将其与视觉概念相关联。当提示语输入到 CLIP Text Encode 节点后,它会将每个单词转换为向量嵌入。向量嵌入是高维的数字表示,包含了单词的语义信息,模型能够根据这些信息生成符合提示语的图像。

Empty Latent Image 节点

在 ComfyUI 的文生图的过程中,它首先会在潜在空间中生成一个随机图像,这个图像会作为模型处理的初始状态,它的大小与实际像素空间中的图像尺寸成比例。

在 ComfyUI 中,我们可以调整潜在图像的高度和宽度来控制生成图像的大小。此外,我们还可以设置批处理大小来确定每次运行生成的图像数量(batch_size)。

潜在图像的最佳尺寸取决于所使用的 Stable Diffusion 模型版本。

对于 v1.5 模型,推荐的尺寸是 512x512 或 768x768;对于 SDXL 模型,最佳尺寸是 1024x1024。ComfyUI 提供了多种常见的宽高比可供选择,但是需要注意的是,潜在图像的宽度和高度必须是 8 的倍数,这样才能确保与模型架构的兼容性。

VAE 节点

在界面中我们能看到 Load Checkpoint 节点的 VAE 属性就直接连接到了 VAE 节点。所以,这里的 VAE 节点其实就是上文中所提到的负责在像素空间和潜在空间之间转换图像的 VAE。

在此不再赘述。

KSampler 节点

在 ComfyUI 中,生图过程的核心节点就是 KSampler 节点。它负责在潜在空间中对随机图像进行去噪,让生成的图像符合我们提供的提示语。

KSampler 使用的是一种称为反向扩散的技术,可以迭代地去除噪声,并根据 CLIP 向量嵌入添加有意义的细节。

反向扩散技术(Reverse Diffusion ) 就是从随机噪声中通过逐步去噪的方式生成图像的过程。模型利用这个技术,可以通过理解和还原图像的特征,将随机噪声转化为清晰、符合提示语的图像。

KSampler 节点提供了多个参数,让我们可以微调图像的生成过程:

Seed

Seed 值控制了初始噪声和最终图像的构图。设置特定的 Seed 值,我们可以获得可重复的结果,可以保持多次生成的一致性。

Control_after_generate

这个参数决定了每次生成后 Seed 值的变化方式,可以设置为随机化(每次运行生成新的随机 Seed)、递增、递减或者固定不变。

Step

采样步数决定了优化过程的强度。如果设置步数较大,则会产生更少的伪影和更精细的图像,但也会增加生成时间。

Sampler_name

这个参数用于选择 KSampler 所使用的特定采样算法。不同的采样算法可能会产生略有不同的结果,且生成速度也会有所不同。

Scheduler

这个参数用于控制在去噪过程中的每一步中噪声水平的变化速率,它决定了从潜在表示中去除噪声的速度。

Denoise

这个参数用于设置去噪过程应消除的初始噪声量。值为 1 表示去除所有噪声,从而生成干净且细节丰富的图像。

通过调整这些参数,我们可以微调图像的生成过程,从而获得理想的图像。

至此,我花了大量篇幅向你介绍了 ComfyUI 中的所有节点以及其对应的功能,希望到目前为止能够帮助你对 ComfyUI 有一个较为全面的认知和理解。

接下来我将继续介绍 ComfyUI 的图生图工作流

ComfyUI 工作流:图生图

要在 ComfyUI 中使用图生图的工作流,我们需要先创建一个上传图像的节点,也就是 Load Image 节点。

在画布空白处点击右键,依次选择 Add Node > image > Load Image 就可以创建一个 Load Image 节点。

也可以直接双击空白处然后输入 Load Image 搜索即可。

然后,还需要创建一个 VAE Encode 节点,同时删除 Empty Latent Image 节点。

依然是在画布空白处点击右键,依次选择 Add Node > latent > VAE Encode 就可以创建一个 VAE Encode 节点。

随后,将 Load Checkpoint 节点的 VAE 属性连接到 VAE Encode 节点的 vae 属性,将 Load Image 节点的 IMAGE 属性连接到 VAE Encode 节点的 pixels 属性,最后,将 VAE Encode 节点的 LATENT 属性连接到 KSampler 节点的 latent_image 属性即可。

具体可以参考下图。

这里我给出的例子是,将一张实拍的美食图转换为动漫风格,当然由于并没有进行微调,所以效果目前还只能算是将就。

输入图像

输出图像

具体的参数设置可以参考下表:

参数建议设置
Prompt“anime style, vibrant colors, clean lines”
Denoise0.7
Steps20 - 40
Sampler_nameeuler
分辨率768x768

注意,在图生图的工作流中,输入图像尽量保持与输出图像的分辨率一致,也不要使用过高的分辨率,直接使用对应模型的默认分辨率(参考下一章节)即可,过高的分辨率在生成图像的时候有可能会报错。

Stable Diffusion 各模型对比

截至 2024 年 9 月,Stable Diffusion 已经发展出多个主要版本,包括 v1、v2、v3 和 SDXL。每个版本都有独特的改进与变化,具体对比可以参考下表:

|
| v1 | v2 | v3 | SDXL |
| — | — | — | — | — |
| 发布时间 | 2022 年 8 月 | 2022 年 11 月 | 2024 年 5 月 | 2023 年 7 月 |
| 默认分辨率 | 512 * 512 | 768 * 768 | 1024 * 1024 | 1024 * 1024+ |
| 文本编码器 | CLIP | OpenCLIP | 最新版 OpenCLIP | 升级版多模态 CLIP |
| 模型能力 | 基础图像生成 | 更准确、更丰富细节 | 高细节、多模态输入 | 高分辨率、多功能性 |
| 训练数据 | LAION-5B | 更大多样化数据集 | 更多高质量数据集 | 超大规模、多样化 |
| 特色 | 基础框架 | 提升细节与安全性 | 更真实、更自然 | 最先进、高分辨率 |

相对于目前常见的 2k,4k 甚至 8k 分辨率来说,目前 Stable Diffusion 的分辨率可能不见得有多高,但是在生成式 AI 领域,这样的分辨率已经具有一定的代表性了,它牵涉到了生成图像的复杂性、速度和计算资源等多方面因素。

默认的分辨率已经能表现相当多的细节,特别是对许多艺术创作、插画、头像等用途来说,这个分辨率足以表现丰富的视觉元素。而且,由于 Stable Diffusion 是生成式模型,可以通过后续处理(如放大、补细节)来获得更高的分辨率。

ComfyUI Inpainting

相对于文生图和图生图工作流,我们可以来看看更复杂的工作流,也就是修复画作(Inpainting)

Inpainting 可以用于替换或编辑图像中的特定区域,比如去除缺陷和伪影,甚至用全新的内容替换某个区域,它依赖于遮罩来确定图像中需要填充的区域。

我们可以直接延用上一步图生图中的工作流,然后按照下面的步骤来操作:

  1. 1. 在 Load Image 节点中上传想要修复的图像,右键单击选择 Open in MaskEditor

  2. 2. 在图像上对想要重新生成的区域设置遮罩,也就是用鼠标画阴影;

  3. 3. 随后点击 Save to node 即可;

  4. 4. 双击出现搜索框,输入 Set Latent Noise Mask 选择创建一个节点;

  5. 5. 重新创建连接:

  6. 1. 将 Load Image 节点的 MASK 属性连接到 Set Latent Noise Mask 节点的 mask 属性;

  7. 2. 同时,修改 VAE 节点的 LATENT 连接到 Set Latent Noise Mask 节点的 samples 属性;

  8. 3. 将 Set Latent Noise Mask 节点的 LATENT 属性连接到 KSampler 节点的 latent_image 属性;

  9. 6. 定义修复过程,也就是在 CLIP Text Encode 节点中输入提示语信息来引导修复画作的方向;

  10. 7. 设置 denoise 参数,比如我们设置 0.6

  11. 8. 最后点击 Queue Prompt 即可。

具体连接可参考下图。

ComfyUI Outpainting

Outpainting 是一种将图像扩展到其原始边界之外的技术,可以让我们在保留原始图像的同时,添加、替换或修改其中的视觉元素。

基于 Inpainting 的工作流,我们需要对其修改一下,然后可以按照以下的步骤来在 ComfyUI 中使用 Outpainting。

  1. 1. 在工作流中添加 Pad Image for Outpainting 节点和 VAE Encode(for Inpainting) 节点,删除 Set Latent Noise MaskVAE Encode 节点;

  2. 2. 重新创建连接:

  3. 1. 将 Load Checkpoint 节点的 VAE 属性连接到 VAE Encode(for Inpainting) 节点的 vae 属性;

  4. 2. 将 Load Image 节点的 IMAGE 属性连接到 Pad Image for Outpainting 节点的 image 属性;

  5. 3. 将 Pad Image for Outpainting 节点的 IMAGE 属性连接到 VAE Encode(for Inpainting) 节点的 pixels 属性;

  6. 4. 将 Pad Image for Outpainting 节点的 MASK 属性连接到 VAE Encode(for Inpainting) 节点的 mask 属性;

  7. 5. 将 VAE Encode(for Inpainting) 节点的 LATENT 属性连接到 KSampler 节点的 latent_image 属性;

    1. Pad Image for Outpainting 节点配置:
    1. left top right bottom 分别表示每个方向上扩展的像素数;
    1. feathering:调整原始图像和扩展区域之间的过度平滑度;
  8. 4. 在 CLIP Text Encode 节点配置提示语;

  9. 5. 微调 VAE Encode (for Inpainting) 节点,可以通过调整 grow_mask_by 参数来控制 Outpainting 的蒙版大小,这里推荐设置大于 10 的数值;

  10. 6. 点击 Queue Prompt 即可生成图像。

具体连接和参数配置可以参考下图。

输入图像

输出图像

Outpainting 工作流也是一个比较复杂的工作流,需要多次微调可能才会得到理想的效果。

ComfyUI Upscale

Upscale,也就是图像放大

在 ComfyUI 里,有两种主要的方式:

    1. 像素放大(Upscale Pixel):直接对可见图像进行放大;
    1. 潜在空间放大(Upscale Latent)

像素放大(Upscale Pixel)

对于像素放大,也有两种方式:

  • • 使用算法来放大图像,这种方式速度快,但是效果可能没有模型好

  • • 使用模型来放大图像,这种方式的效果可能会更好,但是速度会更慢

使用算法放大图像

如果要在 ComfyUI 中使用算法放大图像,则需要添加一个 Upscale Image By 节点,具体的连接方式和设置可参考下图:

其中,upscale_method 指的就是算法,而 scale_by 指的就是放大的倍率,我这里设置的是 2,也就是放大两倍。

我的原始图像大小为 998 * 998,放大后的图像分辨率为 1996 * 1996。

使用模型放大图像

在本文中,我采用的 Upscale 模型是 4x-Ultrasharp,可以在此处下载并使用:https://civitai.com/models/116225/4x-ultrasharp。

下载之后,可以放到 ComfyUI 安装目录的 models/upscale_models 目录下。

要使用模型放大图像,就需要添加 Load Upscale ModelUpscale Image (using Model) 节点,具体连接方式可参考下图:

潜在空间放大(Upscale Latent)

潜在空间放大也称为 Hi-res Latent Fix Upscale

潜在空间放大的工作流比较复杂,但是简化理解就是,通过文生图的工作流拿到图像之后再对图像进行放大,这个过程直接在潜在空间中进行。

这里还涉及下载 VAE Model,比如可以使用:https://huggingface.co/stabilityai/sd-vae-ft-mse。下载完成之后放入 ComfyUI 的安装目录下的 models/vae 目录中即可。

具体流程可参考下图或者直接加载我给的工作流。

像素放大 vs. 潜在空间放大

这两种放大方式的区别如下:

  • 像素放大:仅对图像进行放大,不会添加新的信息。生成速度相对来说比较快,但可能出现模糊效果,缺乏细节。

  • 潜在空间放大:不仅放大了图像,还改变了部分原始图像信息,丰富了细节。可能与原始图像有偏差,生成速度相对较慢。

ComfyUI Manager

ComfyUI Manager 是一个提升 ComfyUI 可用性的扩展。它提供诸如安装、移除、禁用和启用各种 ComfyUI 自定义节点的功能。此外,ComfyUI Manager 还提供了一个集成中心和便捷功能,让我们能够在 ComfyUI 内轻松访问各种信息。

什么是自定义节点?

由于 ComfyUI 基于节点架构运作,其中界面元素被表示为相互连接的节点。每个节点都封装了特定的功能或行为,从而实现模块化和可扩展的界面开发。为了扩展 ComfyUI 的功能,开发者可以根据项目需求创建自定义节点。

在这里可以查看到所有的节点信息:https://ltdrdata.github.io/

安装

关于 ComfyUI Manager 的安装,可直接参考:https://github.com/ltdrdata/ComfyUI-Manager。

安装好了之后,重启 ComfyUI,就可以看到界面多了一个 Manager 按钮,点击就会出现下面这样的窗口。

关于自定义节点的使用示例,我将会结合下一章节来一起讲解。

ComfyUI Embeddings

这里的 Embeddings 又称为文本反演(Textual Inversion),其实和向量嵌入(Vector Embeddings) 本质上是相同的概念。在 ComfyUI 中,Embeddings 也是一种向量表示,可以用来捕捉和存储特定风格、概念或者视觉特征的信息。

当我们在生成图像的时候使用这些 Embeddings,模型可以根据这些特征来调整图像的生成过程,产生特定的视觉效果。

要在 ComfyUI 中使用 Embeddings,只需要在提示语的输入框里输入以下这样的语法即可:

embedding: [Embedding 名称]

比如我们输入:

embedding: Disney

那么,ComfyUI 会到安装目录的 models/embeddings 目录下寻找名为 Disney 的 Embedding 文文件,如果找到了,就会把对应的视觉风格应用到图像上。

可以直接到 https://civitai.com/ 网站上搜索喜欢的 Embedding 模型。

Embedding 名称自动补全

如果有多个 Embeddings,在输入的时候就不太方便了,所以,这时候就可以通过自定义节点来提高我们的输入效率。

点击 Manager 打开 ComfyUI Manager 窗口,在窗口上点击 Custom Nodes Manager,然后搜索 ComfyUI-Custom-Scripts,点击 Install 安装后重启 ComfyUI 即可。

可以看到当我再次输入 embedding 的时候,下方就会有提示了。由于我目前只放置了一个 Embedding 文件,所以提示列表中也只有一个。

Embedding 权重

本质上来说,Embedding 也是关键词,所以也可以像调整提示语中的普通关键词那样来针对 Embedding 调整权重,只需要输入下面这样的语法即可:

(embedding: v4mpcity:1.2)

ComfyUI LoRA

LoRA(Low-rank Adaptation),称为低秩适应,可以用来修改和微调 Load Checkpoint 模型。

它本身是一个小型模型文件,常见的用例包括为模型添加特定风格的生成能力,或者更好地生成某些特定主题或动作。多个 LoRA 可以连接在一起来进一步调整模型。

LoRA 只会修改 MODELCLIP 组件,不会影响 VAE,所以 LoRA 不会改变图像的整体结构。

如何使用

要在 ComfyUI 中使用 LoRA,我们需要新添加一个 Load LoRA 节点,连接方式如下图所示。

LoRA 生成效果示例

同时,需要下载对应的 LoRA 模型,也可以直接前往 https://civitai.com/ 网站上下载。

多个 LoRA 的使用方式与单个的类似,只需要按照顺序连接起来即可。

总结

当你阅读到这里的时候,希望你已经按照文中的实践操作完成了这一份入门指南。

本文涵盖了 ComfyUI 的基础操作、工作机制以及部分高级操作。说实话,要使用一篇文章的篇幅来将 ComfyUI 讲解全面基本上是不可能的,这里面涉及的每一个概念都值得用一篇单独的文章来细化讲解。

所以,我在这里也会附上一些相关资料,希望能够对你有所帮助。


  • • 线上可视化教程:https://comfyanonymous.github.io/ComfyUI_tutorial_vn/

  • • ComfyUI 快捷键:https://docs.comfy.org/tips/shortcuts

  • • 本文所有工作流均可以在我的 GitHub 上查看和下载:https://github.com/Huangjiarun/ai-application-demos/tree/main/ComfyUI-workflows

  • • Embedding、VAE、LoRA 等下载:https://civitai.com/

  • • 模型下载:https://huggingface.co/


http://www.mrgr.cn/news/69747.html

相关文章:

  • 【MySQL】MySQL函数之JSON_EXTRACT
  • C# 实现对指定句柄的窗口进行键盘输入的实现
  • SQL Server 查询设置 - LIKE/DISTINCT/HAVING/排序
  • 高中数学:概率-相关运算性质
  • linux GPIO
  • pgsql和mysql的自增主键差异
  • 仿RabitMQ 模拟实现消息队列项目开发文档1(个人项目)
  • javascript里面的blob和worker
  • Vue2+3 —— 下
  • 《浔川五子棋 v5.0 将于 2025 年上线》
  • Unet++改进20:添加RFAConv||用于特征冗余的空间和通道重构卷积
  • PyQt5
  • 数据结构之带头双向循环链表
  • Web前端效果展示:腺体超声图像分割
  • 2024年下半年软件设计师上午真题【回忆】
  • 常用的c++新特性-->day03
  • ORB-SLAM2源码学习:ORBextractor.cc:ORBextractor特征提取器③
  • pg_dump -Fc 导出的自定义格式数据库文件 相关操作
  • Unity性能优化-具体操作
  • [docker] container 通信 -- bridge
  • Java 8 特性
  • ROS1 Nodelets 与 ROS2 rclcpp_components 多节点运行以及功能插件
  • 手把手教你写Unity3D飞机大战(6)玩家子弹射击之瞄准程序(射线检测)
  • 平衡二叉树
  • 【含文档】基于ssm+jsp的旅游网站(含源码+数据库+lw)
  • 【数据结构实战】从零开始打造你的专属链表