之前有个朋友问我要了一个软件安装包,我分享了网盘链接,过了会儿朋友说解压后点击安装一直提示失败,还发给我报错信息,我从没遇到过,也不知做何解,于是要了截图,看着不对劲,问其在哪里点的安装,回说在网盘里。
这朋友用电脑工作已有5年以上,从此我也明白了事无巨细面面俱到的重要性,有时候看似根本不是问题的事对不懂的人来讲可能会被困住许久。于是我想写一些关于ComfyUI
的东西,从安装到遇到过的各种问题,零零碎碎,并持续更新。
01. ComfyUI 的安装
https://github.com/comfyanonymous/ComfyUI
https://hub.nuaa.cf/comfyanonymous/ComfyUI
在使用 ComfyUI 前,需要先安装好 CUDA,按 Win+R 调出运行,输入 CMD 并回车,在 CMD 中运行 nvidia-smi。或者按 Win+X,点击 Terminal 运行 nvidia-smi,作用都是一样的:
这里查看的是本机支持的最高 CUDA 版本,不建议安装最新版的,会有一些技术支持不到,建议跟着 ComfyUI 的便携包来安装。
之后就可以正常使用 ComfyUI,它的安装就是这么简单。
02. 安装 Git
Git 可以方便的下载 github 上的插件,它并不是必需的,使用插件也可以下载 ZIP,但是为了方便的更新软件和插件,建议安装。
https://git-scm.com/download/win
安装的确认项较多,一路点下一步就好。
03. 插件的安装
在 custom_nodes 文件夹中 git 插件和下载 ZIP 效果是一样的,在插件文件夹的地址栏中全选当前地址,删除并输入 CMD,回车打开命令窗口,输入 git clone 并粘贴复制的克隆地址,回车,即可下载插件。
下载 ZIP 的话解压后记得把文件名中的 -main 给删除,其它不要做任何更改。
多数时候,GitHub 是较难顺利打开的,即便安装了插件,后续更新也会常常因网络不通而失败,在此建议使用 http://gitclone.com 来下载插件,举个例子,ComfyUI-Custom-Scripts 插件的 git 地址如下:
https://github.com/pythongosssss/ComfyUI-Custom-Scripts.git
正常安装,需要在命令中运行:
git clone https://github.com/pythongosssss/ComfyUI-Custom-Scripts.git
如果要用 http://gitclone.com 来下载,则需要在 http://github.com 前加上 http://gitclone.com,如下所示:
git clone https://gitclone.com/github.com/pythongosssss/ComfyUI-Custom-Scripts.git
用 http://gitclone.com 来安装插件,也不用担心后续更新困难了。
安装好插件后不一定能被软件读取,如果插件目录下有 requirements 文件,则需要将其中包含的必要项安装后方可使用插件,如果带有 install.bat 文件,可以双击运行它,将自动安装必要项,如果没有这个文件,则需要手动安装,在当前插件目录下右键打开 Terminal,或者在当前文件地址栏中全选并输入 CMD 然后回车,打开并运行命令:
L:\Visual_Sense\Stable_Diffusion\ComfyUI\python_embeded\python.exe -s -m pip install -r requirements.txt
\python_embeded 前为你的软件本机地址,注意文件夹名称不能有空格。
04. 软件和插件的更新
在刚使用 WebUI 学习 SD 的时候,我记得如何更新软件和如何桌面快捷启动 WebUI 都能出个教程,我也不太清楚是 WebUI 的设计真那么不友好,还是有的人为了故作高深而把简单的事情复杂化了。ComfyUI 即便不用自带的更新程序,也可以运行 git pull 来更新,至于快捷启动,也就创建快捷方式的事儿。
Manager 插件中也可以下载和更新插件,但我即便在 github 能顺利打开的情况下也极少在 Manager 中安装或更新成功,所以后来基本靠手动操作。
在要更新的插件目录内,点右键打开 Terminal,或者在文件夹的地址栏中全选当前地址,删除并输入 CMD,回车打开命令窗口,运行 git pull,即可自动更新插件,如果失败,也多是网站连接的原因。
用 http://gitclone.com 安装的插件,最大的缺陷是后续无法 git pull 来更新,它会一直提示已经更新过了,要想更新的话,需要重新 git,并替换掉原来的内容,注意不要误删需要保留的文件。
如果运行 update_comfyui 更新 ComfyUI 失败,可以尝试在 ComfyUI 文件中运行 git pull 来更新,如果依然非网络原因的失败,可以将 ComfyUI 改下名字,重新 git 或下载 zip 来安装最新 ComfyUI,然后将原 ComfyUI 中的如图文件剪贴到新 ComfyUI 中。如果你想保留使用和保存的图片,需要把 input、output 也剪贴过去。
05. GitHub 的镜像网
正常情况下,GitHub 网站是较难顺利打开的,有镜像网可以凑合着使用,它无法登录,但可以正常安装软件,也可以 git pull 来更新。
https://hub.nuaa.cf/
https://hub.yzuu.cf/
需要注意的是,镜像网不稳定,我使用过的镜像网中,挂掉的不下 5 个了,这两个也不知道能支持到何时,如果镜像网不能用了,你在上面下载的插件也将不能更新,只有重新下载。
06. ComfyUI 的图片文件夹
在 ComfyUI 中使用的输入图片都会存放在 input 文件夹里,Save Image 节点保存的图片在 output 中。如使用 Preview Image 节点,图片不会自动保存,但会缓存到 temp 文件夹中,如果你想找回本次启动软件所生成的图片,可以来这里,软件关闭后,缓存的图片会继续存在,关机或者再次启动 ComfyUI,则整个 temp 文件夹都会删除。
07. 尽量使用原生节点
尽量使用 ComfyUI 的自带节点,非必要的插件不安装,有些不明原因的报错是插件跟不上 ComfyUI 的更新而造成的,哪怕你并没有使用它。
比如我曾经更新 ComfyUI 后导致无法跑图,提示什么 float16、float32 不匹配之类的错误,我一直以为是 ComfyUI 的 BUG,后来发现此情况长时间存在,摸索了好久才发现是 FreeU_Advanced 这个插件的问题,而我自从安装了它还从未使用过,把它删了就正常出图了。不过现在这个插件已经更新,修复了与最新 ComfyUI 的兼容性。
还有的兼容性差的插件甚至会让整个 ComfyUI 无法显示,哪怕删掉这个插件也一样,重装软件才解决问题。
08. ComfyUI 生成的图片带有工作流
用记事本打开 ComfyUI 生成的图片,可以看到其中包含有我们熟悉的采样器参数,如果把图片拖进 ComfyUI,则会直接展示生成此图片的完整工作流。
09. 模型的重命名
在 ComfyUI 中,Lora 是可以自由重命名的,因为有专门的节点读取 Lora,而不必将其输入到提示词中,所以不会因为模型名称中有空格而无法读取,但不要忘了输入触发词。
Embedding 也不必遵循模型说明中的触发词,直接使用就好,并且可以随意重命名,但名称中不得有空格,比如: Bad Hand_v4,这种命名会导致 Embedding 不起作用,可以在不同的词之间用下划线连接,比如: Bad_Hand_v4,这样既方便识别,又能让软件正常读取。
Embedding 的使用方法和 WebUI 不同,在 Prompt 中输入:Embedding:Bad_Hand_v4,如果有子目录,则输入完整的相对路径就好,比如我的正负 Embedding 是放在 Negative 子目录下的,则需输入:Embedding:Negative\Bad_Hand_v4。