一、总览
这里说明如何基于平台基础镜像,构建 ComfyUI 自定义镜像,并导入 SD 模型、部署 ComfyUI 服务进行在线推理。
注意:说明:
二、前置要求
你需先开通 文件存储 或 数据加速器 GooseFS,以及 云服务器,后续模型需要存储到文件系统中,上传需要依赖云服务器。
三、一、构建自定义镜像
本节为你介绍,如何基于平台基础镜像构建自定义镜像,并上传到自定义镜像仓库,进行部署服务使用。
如果你想快速体验,可直接将平台基础镜像上传至 腾讯云-镜像仓库 后,参考 服务部署,进行部署后体验。
四、平台基础镜像
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. 以下用自定义镜像 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-062483ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1ENV ROOT=/stable-diffusion##### —– 【你按需进行替换: Begin】 ———# already exit ComfyUI codes in base imageRUN 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 7860ENTRYPOINT ["/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 或 GooseFSx
1. 登录 CFS 控制台 或 GooseFSx 控制台,在左侧导航栏中选择文件系统,单击创建,选择你需要的存储类型,完成对应配置。(GooseFSx 可忽略此步)
2. 登录 CFS 控制台 或 GooseFSx 控制台,在左侧导航栏中选择实例,单击新建,进行购买。
注意:说明:
注意:1. CFS、GooseFS、CVM 地域请选择 TIONE 支持的地域:北京、上海、广州。
注意:2. CFS、GooseFS、CVM 网络请保持一致。
3. 在 CVM 上挂载 CFS,可参考 在 Windows 客户端上使用 CFS 文件系统。
4. 在 CVM 上挂载 GooseFSx,可参考 管理 GooseFSx 客户端。
示例可参考:
sudo mount -t nfs -o vers=4.0,noresvport 192.168.0.14:/ /data
七、第二步:将模型上传到 CFS 或 GooseFSx
假设 ${CFS_DIR} 为 CFS 或 GooseFSx 挂载目录,如示例 ${DATA_DIR} = /data/comfyui:
1. 基础模型存放在 ${DATA_DIR}/models/Stable-diffusion 下,当此路径下无模型时,平台会使用内置模型 v1-5-pruned-emaonly.ckpt。
2. 插件存放在 ${DATA_DIR}/config/model/config/comfy/custom_nodes 下,平台镜像中内置了插件 ComfyUI-VideoHelperSuite。
3. 模型元信息存放在 ${DATA_DIR}/.cache 下,平台镜像中内置了 hugging face models–openai–clip-vit-large-patch14。
注意:说明:
注意:因涉及 Hugging Face 的软件许可和合规问题,平台上无法访问 Hugging Face 等外网,因此模型涉及的元信息需手动存放至此。
4. Lora 等目录结构可同 stable diffusion webui, 均存放至 ${DATA_DIR}/models/ 下。
八、三、服务部署
1. 登录 TI-ONE 控制台,在左侧导航栏中选择模型服务 > 在线服务,单击新建服务,进入新建页面。
2. 你可填写服务名称,模型来源选择“CFS 或 GooseFS”,选择该地域下的 CFS 或 GooseFS,挂载路径为自定义的模型所在路径(例如 comfyiui),运行环境选择自定义,选择算力,配置其他你需要的信息,单击启动服务,当你服务状态为运行中时,即部署完成,可进行推理。
九、四、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” 进行推理,得到视频,如下: