PC:Mac M1
一、ComfyUI 部署
未安装 Homebrew 的移步: 【Mac】Homebrew
未安装 Conda 的移步: 【Mac】安装 Python3 二、2、通过 conda 安装管理 Python
安装 ComfyUI:
bash
# 启用虚拟环境
conda create -y -n comfyui python=3.12
conda activate comfyui
# 安装pytorch
conda install pytorch torchvision torchaudio -c pytorch-nightly -y
# 克隆 ComfyUI 项目
git clone https://github.com/comfyanonymous/ComfyUI
# 进入安装目录
cd ComfyUI
# 修改配置文件,使 ComfyUI 与 Stable Diffusion 公用模型文件
# 未安装SD的忽略这两条命令
cp extra_model_paths.yaml.example extra_model_paths.yaml
sed -i '' 's#path/to/stable-diffusion-webui#../stable-diffusion-webui#g' extra_model_paths.yaml
# 安装依赖
pip install -r requirements.txt
# 启动 ComfyUI
python main.py
注意 :ComfyUI不会像Stable Diffusion自动弹出浏览器界面,需手动在浏览器输入终端出现的地址,一般是:http://127.0.0.1:8188
如需安装SD的移步 : 【Mac】 Stable Diffusion 部署
可能出现的警告或报错:
-
Reason: tried: '/opt/miniconda3/envs/comfyui/lib/python3.12/site-packages/torchvision/../../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/lib/python3.12/site-packages/torchvision/../../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/lib/python3.12/lib-dynload/../../libjpeg.9.dylib' (no such file), '/opt/miniconda3/envs/comfyui/bin/../lib/libjpeg.9.dylib' (no such file)'If you don't plan on using image functionality from
torchvision.io, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have libjpeg or libpng installed before building torchvision from source?
先检查是否安装 libjpeg:
bash(comfyui) zs@Mac ComfyUI % brew install libjpeg Warning: jpeg 9f is already installed and up-to-date. To reinstall 9f, run: brew reinstall jpeg
libjpeg 即 jpeg 已安装,并且是最新版本,设置环境变量:
bashexport DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/jpeg/9f/lib
此时再去重启 ComfyUI 就没有对应的信息。
二、插件
1、插件安装
-
方式一:进入 ComfyUI/custom_nodes 目录,使用 git clone 拉取项目代码,启动 ComfyUI 即可,例:
bashcd ComfyUI/custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager.git python ../main.py
-
方式二:在 Github 上下载对应的项目zip压缩包,解压到
ComfyUI/custom_nodes
目录下,记得把后缀分支名称去掉,然后重启ComfyUI。
2、ComfyUI-Manager
项目地址:https://github.com/ltdrdata/ComfyUI-Manager.git
ComfyUI管理器是一个旨在增强ComfyUI可用性的扩展。它提供了安装、删除、禁用和启用ComfyUI各种自定义节点的管理功能。此外,此扩展提供了一个中心功能和便利功能,可以在ComfyUI中访问各种信息。
三、使用 ComfyUI Reactor Node 实现视频换脸
1、项目说明
ComfyUI Reactor Node 是一个快速且简单的面部交换扩展节点,专为 ComfyUI 设计。该项目基于 ReActor SD-WebUI 面部交换扩展,旨在提供一个无需 NSFW 过滤器(未经审查)的面部交换功能。用户可以自行承担使用该节点的责任。
项目地址:https://gitcode.com/gh_mirrors/co/comfyui-reactor-node
关键技术和框架:
- ComfyUI: 一个用于图像处理和生成的用户界面框架。
- ReActor SD-WebUI: 一个基于 Stable Diffusion 的面部交换扩展。
- Insightface: 一个用于面部识别和分析的开源库。
- ONNX Runtime: 一个用于加速深度学习模型推理的运行时。
- GPEN: 一个用于面部修复的模型。
2、插件安装
-
第一步,点击 Manager ⇒ 点击 Custom Nodes Manager
-
第二步,搜索 reactor ⇒ 安装 comfyui-reactor-node
-
第三步,重启 ComfyUI,刷新浏览器
-
第四步,下载模型 inswapper_128.onnx 放到
ComfyUI/models/insightface
目录下模型下载地址:Hugging Face、 Google、CloudPlus、CSDN、百度网盘
上述第二步,reactor 安装失败的,参照以下步骤:
-
第一步,Github上边下载 项目代码 放到
ComfyUI/custom_nodes
目录下 -
第二步,下载模型 codeformer-v0.1.0.pth 和 GFPGANv1.4.pth 放到
ComfyUI/facerestore_models
目录下-
codeformer-v0.1.0.pth 模型下载地址:Hugging Face、CSDN
-
-
第三步,重启ComfyUI,再次来到这个界面,点击 Fix,修复终端报错,可能出现的报错:
-
ModuleNotFoundError: No module named 'torch'
通过
pip list | grep torch
发现是有 torch的,怀疑是版本不匹配,直接升级:bashpip install --upgrade torch torchvision torchvision
-
ModuleNotFoundError: No module named 'insightface'
通过
pip list | grep insightface
发现确实没有,直接用pip安装:bashpip install insightface
-
fastapi 0.94.0 requires pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2, but you have pydantic 2.10.5 which is incompatible.
fastapi 0.94.0 需要 pydantic 的版本在 1.6.2 到 2.0.0 之间,但不包括 1.7.x 和 1.8.x 的任何版本。然而,你安装的是 pydantic 2.10.5,这超出了 fastapi 所要求的版本范围。
要么降低 pydantic 版本,要么升级 fastapi 版本,以下命令选择一条执行即可:
bashpip install pydantic==1.6.2 # 选择一个与 fastapi 兼容的 1.6.x 版本 pip install --upgrade fastapi
-
open-clip-torch 2.20.0 requires protobuf<4, but you have protobuf 5.29.3 which is incompatible.
open-clip-torch 2.20.0 需要 protobuf 的版本小于 4.0.0,但你安装的是 protobuf 5.29.3,这同样超出了 open-clip-torch 所要求的版本范围。
要么降低 protobuf 版本,要么升级 open-clip-torch 版本,以下命令选择一条执行即可:
bashpip install protobuf==3.19.4 # 选择一个与 open-clip-torch 兼容的 3.x 版本 pip install --upgrade open-clip-torch
-
A new version of Albumentations is available: 2.0.0 (you have 1.4.10). Upgrade using: pip install --upgrade albumentations
升级即可:
bashpip install --upgrade albumentations
-
3、视频换脸
-
第一步,下载工作流,将 json 文件拉入ComfyUI
-
第二步,安装缺失的插件:
-
关掉提示窗口
-
点击 Manager,点击
Install Missing Custom Nodes
-
勾选全部,点击 install
如果有节点安装失败的,就到ComfyUI/custom_nodes
目录下手动git clone
,例:bashgit clone -v --recursive --progress -- https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes /Users/zs/App/ComfyUI/custom_nodes/ComfyUI_Comfyroll_CustomNodes
因为网络问题可能会出现拉取失败,多试几次就好。
-
-
第三步,重启 ComfyUI
终端
ctrl + c
终止程序,再重新启动程序:bashpython main.py
-
第四步,上传图片与视频,点击执行
可能出现的报错:
onnxruntime.capi.onnxruntime_pybind11_state.Fail: 【ONNXRuntimeError】 : 1 : FAIL : Non-zero status code returned while running CoreML_13099565872608237799_6 node. Name:'CoreMLExecutionProvider_CoreML_13099565872608237799_6_6' Status Message: Exception: /Users/runner/work/1/s/onnxruntime/core/providers/coreml/model/model.mm:71 InlinedVector<int64_t> (anonymous namespace)::GetStaticOutputShape(gsl::span<const int64_t>, gsl::span<const int64_t>, const logging::Logger &) inferred_shape.size() == coreml_static_shape.size() was false. CoreML static output shape ({1,1,1,800,1}) and inferred shape ({3200,1}) have different ranks.
四、说明
若有其他更好用的工作流,求分享!