在ComfyUI的使用上,自己走了很大一圈的弯路。而且更要命的是,一开始还并没有意识到有问题的存在,还以为算图比较慢是因为都在ComfyUI上用SDXL模型的缘故,没爆就行。下图是提速之前跑一张1024x1024的图在我的mac上需要花费的时间,大约接近10分钟。
后来在查找ComfyUI报错信息的时候发现我的ComfyUI启动命令和官方给的不太一样,我当时使用的是:
python main.py
而官方给mac用户的是:
python main.py --force-fp16
这里的这个后缀是啥意思我是不懂的,不过我试着照做了一下,结果出问题了。ComfyUI还是可以启动,不过跑图的时候会报错。
下图里的报错信息分两个部分:
蓝色的部分是常规报错,查过官方对此的回应是可以忽略,那是debug用的。
红色的部分是增加fp16后新出现的报错,里面有一个包含了python3.11的信息。我开始的思路是去找这个python3.11是哪里来的,因为我自己装的不是这个版本。后来发现这个是anaconda 安装包里带来的,我还试图卸载这个python3.11,结果anaconda竟然拒绝了。
然后换了一个思路,把fp16改成了fp32。
python main.py --force-fp32
使用这个启动后,ComfyUI还是进去,跑图的时候也不会报错了。但是如下图所示,跑图的时间竟然变得更长了。
又一通折磨之后,我才最终留意到venv的这个概念。原来这才是为ComfyUI搭建虚拟环境的核心要素。之前我用anaconda创建的pytorch环境对ComfyUI是没有意义的!T_T
☆ ★ ★ ★ ★ ★ ★ ☆ (笔记六和七的跳点)
Get到这个点之后,纠错之路才终于走上了正轨。为ComfyUI搭建虚拟环境要在mac的comfyUI文件夹上右键选择“新建位于文件夹位置的终端窗口”,在新窗口里输入如下命令:
python -m venv venv
需要注意的是,执行这个命令后,终端里不会有任何提示内容。而是在comfyUI目录里面会新出现一个venv文件夹。
然后继续在ComfyUI文件夹位置的终端窗口里输入如下命令:
./venv/bin/pip install torch torchvision torchaudio
这是打包已经安装好的pytorch到前面建好的venv文件夹里,要安装pytorch可以参考我之前这个系列的里面专门写pytorch的文章。我的原文地址:
https://www.bilibili.com/read/cv25604147/?spm_id_from=333.999.0.0
然后继续在ComfyUI文件夹位置的终端窗口里输入如下命令:
./venv/bin/pip install -r requirements.txt
这是把ComfyUI的需求文件都安装到前面建好的venv文件夹里。在之前的安装笔记里我是把这个requirements内容装在了ComfyUI目录下,白搞了,应该放到venv文件夹里!!!完成安装之后,继续在ComfyUI文件夹位置的终端窗口里输入如下命令启动ComfyUI:
./venv/bin/python main.py --force-fp16
可以看到这里在python main.py之前加上了路径,只有这样才能启动在虚拟环境里的ComfyUI。
我还测试了一下加和不加--force-fp16对跑图速度的影响,跑图没有报错,结果如下:
由此可见,叠了虚拟环境和--force-fp16两个buff之后,相同流程的1024X1024跑图速度虽然还有3分钟,但是和原来的10分钟一张相比,已经快了很多。以我目前的能力,搞到这样已经是松了口气了。
悄悄画剧社 2023-06-04