logo
10
0
Login
Forkfromarsrna/comfyui-cnb, behind:main2 commits

ComfyUI-CNB

在CNB开发环境中使用的ComfyUI

可能出现的问题提要

目前已知可能会出现的问题,但是cnb上不会存在这些问题,大概率也不会遇到。

GPU

因CNB目前仍然开放GPU资源,建议使用GPU的tag与runner,否则可能无法使用显卡进行推理。

镜像已经内置GPU驱动,除非没有。

磁盘空间

如图 磁盘空间

免责声明

目前cnb上许多镜像参照此工程进行开发,但要注意的是,此项目属于AIGC的范畴,产物由AI生成,内容并非作者意图,不论使用本项目生成的作品或是其他参考项目生成出的作品,均不代表作者观点,使用第三方模型过程中造成的任何后果,作者概不负责。

已安装环境

  • CodeServer 方便修改源代码以及使用终端
  • coscmd 用于下载模型和保存结果(需进行配置)
  • Python 3.11、Pytorch、Cuda等环境
  • ComfyUI 已安装好依赖
  • git、wget、axel等工具

更多请参考.ide/Dockerfile

在云原生开发中使用

使用步骤

修改开发环境

首先Fork本仓库,修改.ide/Dockerfile.cnb.yml适配自己的开发环境。

在本仓库.cnb.yml里,定义的环境如下:

  • 使用了GPU的tag:cnb:arch:amd64:gpu,以便能够使用显卡进行推理。
  • 使用32C64G的运行环境配置

可根据需要修改,参考自定义资源规格

下载模型

镜像默认将ComfyUI安装到了/usr/ComfyUI目录下,其几个模型的基本路径为:

  • 基础模型 /usr/ComfyUI/models/checkpoints
  • Lora模型 /usr/ComfyUI/models/loras
  • 超分辨率模型 /usr/ComfyUI/models/upscale_models

模型目录

使用COSCMD

由于cnb与腾讯云cos走内网连接,建议将模型上传至腾讯云对象存储,并使用coscli下载模型。coscli使用方法参考COSCMD工具

以下是示例,从存储桶的/models/中下载模型至cnb中

# 配置cos coscmd config -a AKIDxxxxxxx -s xxxxxxxx -b example-1234567890 -r ap-shanghai # 下载checkpoint模型 coscmd download /models/checkpoints/a.safetensors /usr/ComfyUI/models/checkpoints/ # 下载lora模型 coscmd download /models/checkpoint/fischl.safetensors /usr/ComfyUI/models/loras/

使用wget、axel拉取第三方平台模型

若需要从魔搭社区、huggingface等其他平台下载模型,可以使用wget或直接使用modelscope命令下载,目前环境内已经安装modelscope

以下是示例,从URL下载Counterfeit模型至cnb中

  • wget -c 参数表示断点续传,防止大文件中断时,需要重新下载。

  • axel -n 10 参数表示多线程下载

# 下载checkpoint模型 wget -c https://www.modelscope.cn/models/AI-ModelScope/Counterfeit-V2.5/resolve/master/Counterfeit-V2.5_pruned.safetensors \ -O /usr/ComfyUI/models/checkpoints/Counterfeit-V2.5_pruned.safetensors # axel下载模型(10线程) axel -n 10 https://huggingface.co/ModelScope/Counterfeit-V2.5/resolve/master/Counterfeit-V2.5_pruned.safetensors \ -o /usr/ComfyUI/models/checkpoints/Counterfeit-V2.5_pruned.safetensors

使用Modelscope下载

  • --model参数为模型在modelscope上的地址,后面跟着的是下载的文件(下例为只下载Counterfeit-V2.5_pruned.safetensors文件
  • --local_dir表示下载到指定路径
# 下载checkpoint模型 modelscope download \ --model AI-ModelScope/Counterfeit-V2.5 Counterfeit-V2.5_pruned.safetensors \ --local_dir /usr/ComfyUI/models/checkpoints/

启动

.cnb.yml中,已经定义了启动的阶段命令(请手动填写9000端口转发),若无法启动,请手动在集成终端中,输入以下命令启动ComfyUI

python /usr/ComfyUI/main.py --listen 0.0.0.0 --port 9000
  • --listen 为监听的ip地址,若不指定,则默认为127.0.0.1,即只能本地访问。为了防止端口转发出现拒绝访问的问题,需要指定为0.0.0.0
  • --port 为监听的端口,如果出现了端口被占用的情况,请分配一个不被占用的端口。

在ports中,ForwardedPorts已经配置好了端口转发,在ports页面新增一个9000的端口即可启用。 端口访问

如果提示缺少模型,请在上一步模型安装完毕再刷新,可忽略此提示。

构建说明

.ide/Dockerfile中,已经定义了镜像的构建步骤,若需要修改镜像,可修改.ide/Dockerfile,并重新构建镜像。

基本步骤按照ComfyUI源仓库的方式安装依赖包及启动

克隆仓库

没什么好说的

要注意的是,为了保持后续版本与原版一致,这里不直接将仓库使用cnb-init-from转移到CNB,而是在构建时clone仓库至/workspace外的其他目录,一是防止后续版本更新时,仓库被覆盖,二是防止污染workspace的git管理。

git clone https://github.com/comfyanonymous/ComfyUI.git /usr/ComfyUI/

安装依赖包

由于镜像已选择带touch环境,在pip安装时,会自动跳过已存在的依赖

pip install -r /usr/ComfyUI/requirements.txt

启动

也没什么好说的,要注意的是监听host为0.0.0.0,否则无法从端口映射访问。

python /usr/ComfyUI/main.py --listen 0.0.0.0 --port 9000

About

No description, topics, or website provided.