在学习comfyui的过程中,当我们还没有足够能力自己搭建工作流时,经常会导入其他人搭好的工作流。但对于很多人来说,跑通一个工作流并不是一件简单的事儿。
今天这篇文章就来说一说,如何从零到一跑通一个工作流。
首先我们要知道,一个工作流是由哪些部分组成的,然后才能知道这些组成部分该如何处理。
一个工作流最重要的部分就是插件(节点),其次就是模型和lora,最后是调参部分。不过网上大部分发布的工作流,都已经经过作者的调参,所以这里需要处理的只有前两部分。
插件(节点),以及模型和lora。
一、安装缺失插件
很多人都以为安装缺失插件,就是利用管理器中的“安装缺失节点”,但实际上并不是。
最常见的一种情况就是,你安装完插件之后,依然找不到这个插件的节点。在启动器的日志目录里,你经常会看到下图这种画面。
如果插件前面有“Important Failed”这个词,说明你虽然安装了插件(只成功安装了插件源码),但是没有成功导入。
出现这种报错,后台日志里面都会给出对应的提示,按照报错提示去解决对应的问题即可。
安装插件时出现无法成功导入,一般常见的问题就是缺环境依赖,或者环境依赖有冲突。
有时候,即便你补全了环境依赖,后台日志也没有“Important Failed”这个提示,但使用的时候还是会报错。这时候大概率就是缺少模型。
也就是说,只有下载了插件模型,一个插件才算真正的完整。如何下载模型,我们后面再说。
不过这里经常出现另一个问题,就是环境冲突。
环境冲突相关的报错很常见,比如下图这种。
这种冲突并不一定是真的冲突,有时可能只是秋叶启动器的一个提醒。
这里可以简单分析一下冲突的内容,发现冲突的原因是因为“transformers”的版本问题。
有的需要4.28.1版本,有的需要4.26.1版本,有的需要4.45.0版本。
之所以说这里并不是真的冲突,是因为很多插件并不是真的需要某个特定版本的依赖。只是作者在写这个插件的时候,某个依赖刚好出到某个版本。所以一般安装最新版本的依赖,就能解决这个问题。
但这里有一种特殊但很少见的情况,就是某个插件真的只有在某个特定版本的依赖才能运行。高于这个版本、低于这个版本都不行。
这种情况就需要你自己做出取舍。要么是换掉这个插件,要么是为这个插件单独创建一个虚拟环境,单独给这个插件来使用。
一般到这里,插件问题就算暂时告一段落了。但细心的小伙伴应该还记得,这里还有一个插件模型没有解决。
接下来我们就要解决模型问题。
二、安装缺失模型
模型之所以放在这里讲,是因为其实很多人都分不清模型的区别,从而无法精准找到需要的模型。
comfyui常用的模型可以分为三种。一种是预训练模型,一种是二次训练模型,一种是插件模型。
在下载模型之前,你首先要确定自己下载的是什么模型。
比如,unet加载器和checkpoint加载的都是大模型。
但大模型也分为两种,一种是原生态的预训练模型,还有一种是二次训练模型。
至于这两种模型具体该如何区分,只能靠大家的经验了。
这里提供一个不是很精准的判断方法,带中国汉字的都是二次训练模型,英文的都是预训练模型。不过这个判断方法不一定准。
比如,这个unet加载器,加载的就是麦橘的二次训练模型。
确定大模型的具体类型后,处理方法就很简单了。
解决大模型后,还要解决插件模型。
插件模型很好判断,某个插件报错,提示“No model”或者“No found xxxx”,这种模型就是插件模型。比如下图这种。
插件模型可以在HuggingFace下载,不过我个人不推荐。因为HuggingFace上同名模型极多,如果你分辨不清的话,很容易下错模型。如果你下错模型,comfyui就会报错,这种情况就很不好排查了。
毕竟插件需要模型,但你又有同名模型,就是真大佬来了,他也没办法从两个叫一样名字的模型一眼看出,两个模型文件里的内容不一样。
所以下载插件模型时,一定要确保不出错。
这里推荐去github项目上去找。一般作者都会在github项目页上提供模型的HuggingFace网址,或者是网盘链接。从这里下载不仅方便,而且不会出错。
不过这里还有一个小问题,就是你千万别找错了插件。这个错误虽然犯的概率很小,但不规范的方法用多了,总是会出现的。
这里可以参考我个人的方法。比如上面这个IPAdapterFaceID加载器。
右键单击节点,选择“帮助Mixlab”。
在弹出的页面中,单击左上角的插件名称,就能自动跳转到插件的github项目页。
这里需要耐心等一会儿,如果长时间没有加载出这个页面,刷新一下comfyui页面,重复这个操作即可。
跳转到插件的github网站之后,找到作者提供的下载方式。这里有具体的下载链接,以及模型放置位置,部分还有注意事项。
按照作者的要求,逐步去操作即可。
搞定模型之后,剩下的就是lora。
不是所有工作流都会遇见lora,lora也比较好识别,复制lora的名字到Google里面去搜就好。尽量把lora的名字复制得全一些,不要带最后的版本号。
这里有一点需要注意一下,最好不要用百度来搜索。至于为什么,大家心里应该知道。
绝大部分工作流到这里就结束了,部分工作流可能需要一些其他东西,这个就需要具体问题具体分析了。
三、总结
跑通一个工作流说难也难,说简单也简单。最关键的一个问题是,你基础知识够不够扎实,能不能一眼看出问题的关键所在,从而找到对应的方式。
比如找模型这件事儿来说。很多人都知道,把模型名字复制到网上去搜就好。但实际过程中,会出现很多问题。
到底是哪个网站下载的靠谱?这些长得差不多的模型,哪个又是我们需要的?
想要快速判断出这些问题的答案,就需要一定的知识储备。换句话说,磨刀不误砍柴工。学习comfyui时走的捷径,都会在日后点点滴滴中还回来。
所以这里建议大家在学习comfyui时,还是要打好基础,不要操之过急。
这篇文章偏理论知识,明天会找一个工作流,从头到尾演示一遍导入工作流的方法,方便大家理解。