当前位置:首页|资讯|Stable Diffusion

MacBook Pro部署Stable Diffusion笔记 (十)建立虚拟环境使ComfyUI提速

作者:悄悄画剧社发布时间:2023-10-05

在ComfyUI的使用上,自己走了很大一圈的弯路。而且更要命的是,一开始还并没有意识到有问题的存在,还以为算图比较慢是因为都在ComfyUI上用SDXL模型的缘故,没爆就行。下图是提速之前跑一张1024x1024的图在我的mac上需要花费的时间,大约接近10分钟。

基于SDXL基础+细化流程的1024X1024跑图速度

后来在查找ComfyUI报错信息的时候发现我的ComfyUI启动命令和官方给的不太一样,我当时使用的是:

python main.py

而官方给mac用户的是:

python main.py --force-fp16

这里的这个后缀是啥意思我是不懂的,不过我试着照做了一下,结果出问题了。ComfyUI还是可以启动,不过跑图的时候会报错。

使用官方启动命令后启动的信息会多一行Forcing FP16

下图里的报错信息分两个部分:

蓝色的部分是常规报错,查过官方对此的回应是可以忽略,那是debug用的。

红色的部分是增加fp16后新出现的报错,里面有一个包含了python3.11的信息。我开始的思路是去找这个python3.11是哪里来的,因为我自己装的不是这个版本。后来发现这个是anaconda 安装包里带来的,我还试图卸载这个python3.11,结果anaconda竟然拒绝了。

ComfyUI的报错信息

然后换了一个思路,把fp16改成了fp32。

python main.py --force-fp32

使用这个启动后,ComfyUI还是进去,跑图的时候也不会报错了。但是如下图所示,跑图的时间竟然变得更长了。

使用fp32之后相同流程的1024X1024跑图速度

又一通折磨之后,我才最终留意到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。

使用虚拟环境后启动信息会多一行VAE的内容

我还测试了一下加和不加--force-fp16对跑图速度的影响,跑图没有报错,结果如下:

虚拟环境不加--force-fp16相同流程的1024X1024跑图速度

虚拟环境加--force-fp16相同流程的1024X1024跑图速度

由此可见,叠了虚拟环境--force-fp16两个buff之后,相同流程的1024X1024跑图速度虽然还有3分钟,但是和原来的10分钟一张相比,已经快了很多。以我目前的能力,搞到这样已经是松了口气了。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1