当前位置: 首页 > article >正文

【Mac】ComfyUI 部署

PC:Mac M1

一、ComfyUI 部署

未安装 Homebrew 的移步:【Mac】Homebrew

未安装 Conda 的移步:【Mac】安装 Python3 二、2、通过 conda 安装管理 Python

安装 ComfyUI:

# 启用虚拟环境
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:

    (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 已安装,并且是最新版本,设置环境变量:

    export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/jpeg/9f/lib
    

    此时再去重启 ComfyUI 就没有对应的信息。

二、插件

1、插件安装

  • 方式一:进入 ComfyUI/custom_nodes 目录,使用 git clone 拉取项目代码,启动 ComfyUI 即可,例:

    cd 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

    • GFPGANv1.4.pth 模型下载地址:Github、CSDN

  • 第三步,重启ComfyUI,再次来到这个界面,点击 Fix,修复终端报错,可能出现的报错:

    • ModuleNotFoundError: No module named 'torch'

      通过 pip list | grep torch 发现是有 torch的,怀疑是版本不匹配,直接升级:

      pip install --upgrade torch torchvision torchvision
      
    • ModuleNotFoundError: No module named 'insightface'

      通过 pip list | grep insightface 发现确实没有,直接用pip安装:

      pip 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 版本,以下命令选择一条执行即可:

      pip 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 版本,以下命令选择一条执行即可:

      pip 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

      升级即可:

      pip install --upgrade albumentations
      

3、视频换脸

  • 第一步,下载工作流,将 json 文件拉入ComfyUI
    在这里插入图片描述

  • 第二步,安装缺失的插件:

    • 关掉提示窗口
      在这里插入图片描述
    • 点击 Manager,点击 Install Missing Custom Nodes在这里插入图片描述
    • 勾选全部,点击 install在这里插入图片描述
      如果有节点安装失败的,就到 ComfyUI/custom_nodes 目录下手动 git clone,例:
      git clone -v --recursive --progress -- https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes /Users/zs/App/ComfyUI/custom_nodes/ComfyUI_Comfyroll_CustomNodes
      
      因为网络问题可能会出现拉取失败,多试几次就好。
  • 第三步,重启 ComfyUI

    终端 ctrl + c 终止程序,再重新启动程序:

    python 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.

四、说明

若有其他更好用的工作流,求分享!


http://www.kler.cn/a/512425.html

相关文章:

  • BottomNavigationBar组件的用法
  • 【云原生布道系列】第三篇:“软”饭“硬”吃的计算
  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
  • 生产环境中常用的设计模式
  • C++ 模拟真人鼠标轨迹算法 - 防止游戏检测
  • 【云岚到家】-day03-门户缓存实现实战
  • 算法题目总结-链表
  • 【Maui】视图界面与数据模型绑定
  • django应急物资管理系统
  • 基于FPGA的BPSK+costas环实现,包含testbench,分析不同信噪比对costas环性能影响
  • 英文隐私政策翻译
  • 【vitePress】基于github快速添加评论功能(giscus)
  • Kubernetes:基础的架构
  • 《Opencv》图像的透视变换--处理发票
  • 【转】厚植根基,同启新程!一文回顾 2024 OpenHarmony 社区年度工作会议精彩瞬间
  • C语言文件
  • 事件驱动量化回测 UML 序列图
  • 深入Spring Boot:自定义Starter开发与实践
  • uniapp button按钮去掉默认样式
  • C# 给定欧氏平面中的一组线可以形成的三角形的数量
  • 【新人系列】Python 入门(二十八):常用标准库 - 上
  • 算法题目总结-二叉树
  • SuperMap iClient3D for WebGL选中抬升特效
  • oracle之行转列
  • 亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine
  • vue3+three.js加载glb模型