【ComfyUI学习笔记01】下载安装 | 运行第一个工作流 | 学习思路
- 前言
- 下载安装
- ComfyUI的下载和安装
- ComfyUI Manager 的下载和安装
- 运行第一个工作流
- 初识节点 (Nodes) 工作流
- 案例1 Image Generation
- 绘制流程图,确定关键节点
- 放置关键节点,确定连接顺序
- 补充中间过程,完成流程搭建
- 学习思路
- 明确应用方向
- 抛弃细节,块状记忆
前言
你好!这是博主学习ComfyUI时的心得笔记,从零开始。博主是工业设计专业的学生,学ComfyUI是为了批量和易控地渲染手绘图以及生成特定人物,主要面向应用,不会在底层原理上有过多深入。每期的推荐资料会放在文章末尾。
本系列一般不涉及节点参数的解读,推荐需要时,在Github上检索学习。
初来乍到,请多指教!
下载安装
本章节将介绍ComfyUI的下载和安装以及后续重要插件 ComfyUI Manager 的下载和安装。
ComfyUI的下载和安装
- 国内网盘下载 ,在bilibili等平台搜索“ComfyUI”下载,往往会有不错的结果,非常多博主1友好地免费提供网盘下载;
- 【推荐】Github下载,直接访问ComfyUI官方团队的库2,进行下载(需要翻墙 / 访问国内镜像网站);
- 下载“ComfyUI_windows_portable_nvidia.7z”即可
- 解压完毕后,请首先阅读README_VERY_IMPORTANT文件,以下是对其的中文翻译:
如何运行:如果你有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中的模型文件夹地址复制进去,保存即可
- Git下载,git clone是后续更新、下载ComfyUI及其节点包重要的途径,推荐尽早安装下载3,安装过程中,只需要修改安装地址即可(建议 D:/ 等软件盘符Program Files文件夹),其他内容保持默认。
ComfyUI Manager 的下载和安装
ComfyUI Manager是使用ComfyUI必要的插件,它可以快速帮助我们下载、补全某些非常便利的节点,后续我们会逐渐探索ComfyUI Manager的强大功能。
Github作者4提供了4种ComfyUI Manager的安装方案,这里重点推荐2种:
- 【推荐】Git Clone安装,访问ComfyUI/custom_nodes文件夹,在地址栏键入“cmd”打开命令提示栏,输入以下内容后回车:
git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager
- .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的搭建实际上就是将不同环节的数据处理,传递,再处理,如果我们将这些过程切块,记住每一块需要什么,产出什么,将极大地降低我们的记忆成本。至于每一块的实现细节(具体节点),那就去扒网上的案例库好了。
目录、索引式记忆比起内容、字典式记忆来得有效率得多。这不是学生时期的考试,利用工具,节约时间是首要的
bilibili Nenly同学 ↩︎
ComfyUI Github网址 ↩︎
Git下载地址 ↩︎
ComfyUI Manager Github网址 ↩︎