【ComfyUI学习笔记01】下载安装 | 运行第一个工作流 | 学习思路

【ComfyUI学习笔记01】下载安装 | 运行第一个工作流 | 学习思路

前言

你好!这是博主学习ComfyUI时的心得笔记,从零开始。博主是工业设计专业的学生,学ComfyUI是为了批量和易控地渲染手绘图以及生成特定人物,主要面向应用,不会在底层原理上有过多深入。每期的推荐资料会放在文章末尾。

本系列一般不涉及节点参数的解读,推荐需要时,在Github上检索学习。

初来乍到,请多指教!

下载安装

本章节将介绍ComfyUI的下载和安装以及后续重要插件 ComfyUI Manager 的下载和安装。

ComfyUI的下载和安装

  1. 国内网盘下载 ,在bilibili等平台搜索"ComfyUI"下载,往往会有不错的结果,非常多博主[1](#1)友好地免费提供网盘下载;
  2. 【推荐】Github下载 ,直接访问ComfyUI官方团队的库[2](#2),进行下载(需要翻墙 / 访问国内镜像网站);
    • 下载"ComfyUI_windows_portable_nvidia.7z"即可
    • 解压完毕后,请首先阅读README_VERY_IMPORTANT文件,以下是对其的中文翻译:
typescript 复制代码
如何运行:

如果你有N卡GPU,运行 nvidia gpu.bat (推荐使用)

如果你想使用低速的CPU,运行 cpu.bat

如果你在进入页面时遇到了一个红色的报错,大概是由于你没有在ComfyUI\models\checkpoints中保存任何模型,你可以在 https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/blob/main/v1-5-pruned-emaonly-fp16.safetensors 中下载Stable Diffusion 1.5,放入checkpoints文件夹

更新ComfyUI的推荐办法:访问update文件夹,运行update_comfyui.bat

想要与Python依赖一同更新的话,访问update文件夹,运行update_comfyui_and_python_dependencies.bat

如果你在电脑上已经在WebUI中下载了不少模型,并且想通过ComfyUI调用:
访问ComfyUI文件夹,找到extra_model_paths.yaml.example,将其重命名为extra_model_paths.yaml,使用记事本打开,将WebUI中的模型文件夹地址复制进去,保存即可
  1. Git下载 ,git clone是后续更新、下载ComfyUI及其节点包重要的途径,推荐尽早安装下载[3](#3),安装过程中,只需要修改安装地址即可(建议 D:/ 等软件盘符Program Files文件夹),其他内容保持默认。

ComfyUI Manager 的下载和安装

ComfyUI Manager是使用ComfyUI必要的插件,它可以快速帮助我们下载、补全某些非常便利的节点,后续我们会逐渐探索ComfyUI Manager的强大功能。

Github作者[4](#4)提供了4种ComfyUI Manager的安装方案,这里重点推荐2种:

  1. 【推荐】Git Clone安装,访问ComfyUI/custom_nodes文件夹,在地址栏键入"cmd"打开命令提示栏,输入以下内容后回车:

git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager

  1. .bat 安装 ,在下载好git后,把install-manager-for-portable-version.bat保存到 ComfyUI_windows_portable 文件夹中,双击安装
    • 请右键该链接,"链接另存为"

启动ComfyUI,在浏览器界面角落出现以下图标,即说明安装成功

运行第一个工作流

这里,我们将着手搭建我们的第一个ComfyUI工作流,它是一个基础的文本转图像 (Text2Img) 工作流,如下图所示,通过它,我们可以对ComfyUI基本的运行过程有所了解

初识节点 (Nodes) 工作流

从底层讲,节点工作流中,每个节点都是一段封装好的代码,搭建节点工作流的过程,就是不断调用代码的编程过程。它具备过程透明,高自由度 的优点,但同时因其存在大量节点,且逐级运行,也存在强调逻辑,学习,记忆成本高的"缺点"。

在搭建节点工作流的过程中,知道我有什么 (文本/待处理图片)和我要什么(生成图片/放大图片/局部重绘)很重要,它是我们的重要切入口,可以帮助我们梳理过程环节,这同样是编程思维的再次体现。

既然是一种编程任务,那么对初学者来说,流程图无疑是非常重要的工具

案例1 Image Generation

案例文件"Image Generation"由官方 Browse Templates 提供。

在流程图中,已经梳理好了生成一张图片需要的关键过程,接下来,我们将进一步了解具体的实现步骤

绘制流程图,确定关键节点

(绘制过程略)我们只有得知图片大小内容 后,才能生成 我们的图片,而内容是根据文本(图片)描述图片风格确定的,因此,我们需要:

  • 图片大小控制节点: Empty Latent Image
  • 文本(图片)描述节点(本案例输入内容为文本):CLIP Text Encode(Prompt)
  • 图片风格节点(即.checkpoint大模型节点)导入:Load Checkpoint
  • 图片输出节点(保存图片):Save Image

放置关键节点,确定连接顺序

在本章节开头已经展示了完整的连接顺序,它并非一气呵成,逐级推进,而是以先放关键节点,再补充中间过程的思路确定的:

  • 找到并放置关键节点

除了通过快速检索栏调用,ComfyUI同样支持右键 呼出菜单栏调用,通过菜单栏中的命名,可以猜到节点属于哪里,这对不知道节点叫什么,但知道它要起什么功能时很有帮助

补充中间过程,完成流程搭建

实现数据的处理和流通,是本环节的关键。在ComfyUI中,两个节点块有相同颜色的小圆点,表示可以直接流通该数据,如上图中Load Checkpoint右边的黄色CLIP和CLIP Text Encode(Prompt)左边的黄色clip。那如果没有颜色对应的小圆点呢?那就说明需要一些中间过程来对数据进行处理(Encode 编码/Decode 解码),在本案例中,有以下中间节点:

  • 采样处理节点:KSampler ,它类似于WebUI中的参数设置面板,包括生成图片过程中的随机种子、步数、采样器等参数都由此节点控制
  • 潜变量图像解码节点:VAE Decode ,KSampler采样完成后,生成的是Latent Image相当于"底片",但我们需要的是一张可视图片,因此需要通过变自分解码器 VAE Decode 对其进行"显影"转换

    节点添加完毕后,将所有对应颜色的小圆点相连,即可完成我们案例1的工作流搭建。

学习思路

明确应用方向

ComfyUI作为一个复杂平台,可以实现非常多功能,满足不同生产需要。但复杂意味着决策,在打开、学习ComfyUI之前,先问问自己,想用它来干什么,然后直接去查看相关的应用即可,小白千万不要在一开始陷入对原理、技术的探求,就跟学英语时,不要一来就拿着牛津词典干啃一样。

以博主自身为例,博主是工业设计专业的学生,需要大量用到草图上色,快速渲染这样的图生图功能,偶尔用到人物姿态生成、帧图片等其他功能,不会把精力花费在实现以上功能外的地方。

抛弃细节,块状记忆

承接上文,抓住"应用方向"这个关键,就可以快速查找到想实现目标需要的关键环节。ComfyUI的节点成百上千,挨个记忆是不现实的,低收益的,但不难发现,ComfyUI的搭建实际上就是将不同环节的数据处理,传递,再处理,如果我们将这些过程切块,记住每一块需要什么,产出什么,将极大地降低我们的记忆成本。至于每一块的实现细节(具体节点),那就去扒网上的案例库好了。

目录、索引式记忆比起内容、字典式记忆来得有效率得多。这不是学生时期的考试,利用工具,节约时间是首要的


  1. bilibili Nenly同学 ↩︎

  2. ComfyUI Github网址 ↩︎

  3. Git下载地址 ↩︎

  4. ComfyUI Manager Github网址 ↩︎

相关推荐
名字不要太长 像我这样就好28 分钟前
【iOS】消息传递和消息转发
开发语言·学习·macos·ios·objective-c
屁股割了还要学1 小时前
【C语言进阶】题目练习(3)
c语言·开发语言·c++·学习·算法·青少年编程
wjpwjpwjp08311 小时前
[MySQL基础3] 数据控制语言DCL和MySQL中的常用函数
数据库·笔记·后端·学习·mysql
PP东1 小时前
Mybatis学习之简介(一)
学习·oracle·mybatis
典孝赢麻崩乐急2 小时前
Java学习--------消息队列的重复消费、消失与顺序性的深度解析
java·开发语言·学习
斟的是酒中桃2 小时前
【学习记录】智能客服小桃(进度更新ing)
人工智能·python·学习·语言模型·langchain·agent
西岭千秋雪_2 小时前
NIO网络通信基础
笔记·学习·计算机网络·nio
MUTA️3 小时前
Clip微调系列:《coOp: learning to prompt for vision-language models》
笔记
努力自学的小夏3 小时前
RK3568 Linux驱动学习——SDK安装编译
linux·arm开发·笔记·学习