文档中心>TI-ONE 训练平台>实践教程>部署ComfyUI进行文生图和文生视频

部署ComfyUI进行文生图和文生视频

最近更新时间:2024-05-15 10:31:32

我的收藏

背景

本文为您介绍如何基于平台基础镜像,构建 SD-ComfyUI 自定义镜像,并导入模型、部署 Comfy-UI 服务进行在线推理。
说明:
平台默认容器内模型根目录为固定路径即"/data/model"。
平台默认推理服务端口为8501。

一、构建自定义镜像

本节为您介绍,如何基于平台基础镜像构建自定义镜像,并上传到自定义镜像仓库,进行部署服务使用。
如果您想快速体验,可直接将平台基础镜像上传至腾讯云-镜像仓库后,参考 服务部署,进行部署后体验。

平台基础镜像

1. 内置特性如下:
内置图生视频插件 ComfyUI-VideoHelperSuite
内置 SD 模型 v1-5-pruned-emaonly.ckpt
2. 获取镜像:
基础镜像为:
cc.ccs.tencentyun.com/tione-public-images/ti-cloud-stable-diffusion-webui:comfyui-v0.0.1-062483
拉取到本地:
docker pull ccr.ccs.tencentyun.com/tione-public-images/ti-cloud-stable-diffusion-webui:comfyui-v0.0.1-062483
说明:
1. Comfyui 社区版本,可单击跳转
2. 本文示例使用的 commit 号:062483823738ed610d8d074ba63910c90e9d45b7。

构建自定义镜像

1. 当自定义镜像名中含有 stable-diffusion-webui 字符串时可以使用平台 UI 界面,您部署好服务后,在服务列表页的服务管理,操作里会出现打开 WebUI 页面按钮。


2. 以下用自定义镜像 ccr.ccs.tencentyun.com/test/stable-diffusion-webui:comfyui-1.0.1,举例说明:
自定义镜像 Dockerfile。
FROM ccr.ccs.tencentyun.com/tione-public-images/ti-cloud-stable-diffusion-webui:comfyui-v0.0.1-062483

ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
ENV ROOT=/stable-diffusion

##### ----- 【您按需进行替换: Begin】 ---------
# already exit ComfyUI codes in base image
RUN rm -rf ${ROOT}

RUN --mount=type=cache,target=/root/.cache/pip \\
git clone https://github.com/comfyanonymous/ComfyUI.git ${ROOT} && \\
cd ${ROOT} && \\
git checkout master && \\
git reset --hard 062483823738ed610d8d074ba63910c90e9d45b7 && \\
pip install -r requirements.txt

##### ----- 【您按需进行替换: End】 ---------

WORKDIR ${ROOT}

RUN chmod u+x /docker/entrypoint.sh && cp /docker/extra_model_paths.yaml ${ROOT}

ENV NVIDIA_VISIBLE_DEVICES=all PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS=""
EXPOSE 7860
ENTRYPOINT ["/docker/entrypoint.sh"]
CMD python -u main.py --listen --port 8501 ${CLI_ARGS}
构建自定义镜像。
您需要将ccr.ccs.tencentyun.com/test/stable-diffusion-webui:comfyui-1.0.1 替换为自己的镜像仓库名称:
docker build -f Dockerfile -t ccr.ccs.tencentyun.com/test/stable-diffusion-webui:comfyui-1.0.1 .
将自定义镜像推送至镜像仓库。

二、模型导入

第一步:前置准备,购买 CVM 和 CFS

1. 登录 CFS 控制台,在左侧导航栏中选择文件系统,单击创建,选择您需要的存储类型,完成对应配置。


2. 登录 CFS 控制台,在左侧导航栏中选择实例,单击新建,进行购买。
说明:
1. CFS、CVM 地域请选择 TIONE 支持的地域:北京、上海、广州。
2. CFS、CVM 网络请保持一致。
3. 在 CVM 上挂载 CFS,可参考 在 Windows 客户端上使用 CFS 文件系统
示例可参考:
sudo mount -t nfs -o vers=4.0,noresvport 192.168.0.14:/ /data

第二步:将模型上传到 CFS

假设 ${CFS_DIR} 为 CFS 挂载目录,如示例 ${CFS_DIR} = /data/comfyui:
1. 基础模型存放在 ${CFS_DIR}/models/Stable-diffusion 下,当此路径下无模型时,平台会使用内置模型 v1-5-pruned-emaonly.ckpt。
2. 插件存放在 ${CFS_DIR}/config/model/config/comfy/custom_nodes 下,平台镜像中内置了插件 ComfyUI-VideoHelperSuite。
3. 模型元信息存放在 ${CFS_DIR}/.cache 下,平台镜像中内置了 hugging face models--openai--clip-vit-large-patch14。
说明:
因涉及 Hugging Face 的软件许可和合规问题,平台上无法访问访问 Hugging Face 等外网,因此模型涉及的元信息需手动存放至此。
4. Lora 等目录结构可同 stable diffusion webui, 均存放至 ${CFS_DIR}/models/ 下。




三、服务部署

1. 登录 TI-ONE 控制台,在左侧导航栏中选择模型服务 > 在线服务,单新建服务,进入新建页面。
2. 您可填写服务名称,模型来源选择“CFS”,选择该地域下的 CFS,CFS 挂载路径为自定义的模型所在路径(例如 comfyiui),运行环境选择自定义,选择算力,配置其他您需要的信息,单击启动服务,当您服务状态为运行中时,即部署完成,可进行推理。



四、UI 界面使用

构建自定义镜像 中所述,当自定义镜像名中含有 stable-diffusion-webui 字符串时可以使用平台 UI 界面,您部署好服务后,在服务列表页的服务管理,操作里会出现打开 WebUI 页面按钮。




案例一:文生图

1. ComfyUI 示例如下:


2. 单击“Queue Prompt” 进行生图,如下图:



案例二:图生视频

1. 将 svd 模型文件上传至CFS ${CFS_DIR}/models/Stable-diffusion。


说明:
svd 模型文件,您可单击下载
2. 模型导入第二步 所述,将 svd 模型文件放在 /models/Stable-diffusion 路径下。


3. 打开界面,上传 workflow,图生视频的工作流示例如下:


说明:
workflow.json文件,您可单击下载
4. 单击“Queue Prompt” 进行推理,得到视频,如下: