logo
0
0
Login
docs(README): 修复层级问题,忘记注释了

ComfyUI-CNB

在CNB开发环境中使用的ComfyUI

已安装环境

  • 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的端口即可启用。 端口访问

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