首页 > 其他分享 >ComfyUI 实战:初探工作流

ComfyUI 实战:初探工作流

时间:2024-10-03 08:52:14浏览次数:1  
标签:实战 存储 models ComfyUI 模型 路径 https 初探

最近体验了一下 ComfyUI。作为刚入门的新手,把一些我在配置和运行复杂图像生成工作流中的实践经验记录下来。

环境搭建:基础设施与依赖项

在深入工作流程之前,需要先搭建正确的环境。这涉及安装一些 ComfyUI 基础版中未包含的额外节点:

  1. ComfyUI-Manager:用于管理和安装各种自定义节点的实用工具。
  2. comfyui_controlnet_aux:执行 ControlNet 相关操作的核心组件。
  3. rgthree 的 ComfyUI 节点:扩展工作流功能的自定义节点集,尤其适用于 LoRA 操作。

提示:加载新工作流时,务必检查节点类型是否齐全。ComfyUI 界面会对缺失组件发出警告。

模型与输入文件准备

最耗时但至关重要的步骤是下载所有必需的模型和输入文件。以下是本次生图工作流所需资源的详细清单,包括下载链接和对应的存储路径:

  1. SDXL 模型

  2. VAE 模型

  3. 输入图像

  4. ControlNet 模型
    a. 草图控制用 T2I-Adapter:

    b. 深度估计用 SAI XL Depth LoRA:

  5. 超分辨率模型

注意:如果 ComfyUI 安装中没有上述目录,则需要手动创建。

工作流程执行

完成准备工作后,我们开始执行工作流程。以下是观察到的一些现象:

  1. 执行时间:首次运行整个流程耗时约 383.24 秒,后续运行仅需 106 秒。这种显著的性能提升主要得益于缓存机制和 GPU 预热。

  2. 工作流复杂度:该生图工作流涉及多个复杂步骤,包括图像预处理、ControlNet 引导、SDXL 推理和超分辨率处理。

  3. 资源消耗:请注意,特别是在处理高分辨率输入或输出时,该流程会导致 GPU 使用率和内存消耗激增。

经验总结与优化方向

  1. 充分准备至关重要:提前准备好所有模型和输入文件可大幅减少故障排除时间。请仔细核对文件路径!

  2. LoRA 实验:虽然本次运行未使用 LoRA 模型,但将其纳入未来实验计划中,以探索进一步提升生图效果的可能性。

  3. 性能优化:如需进行多次迭代,建议优化工作流程以加快后续运行速度。考虑使用模型量化、批处理等技术。

标签:实战,存储,models,ComfyUI,模型,路径,https,初探
From: https://www.cnblogs.com/LexLuc/p/18445360

相关文章

  • springboot实战项目-寰宇外卖重难点总结
    思考前端和后端的请求地址不同,前端发送的请求,是如何请求到后端服务的?可以通过nginx反向代理将前端发送的动态请求由nginx转发到后端服务。nginx其他优点:1.提高访问速度。2.进行负载均衡。3.安全性高,保护后端服务安全。nginx负载均衡策略:1.轮询(默认):按时间顺序依次将请求分发......
  • 53_初识搜素引擎_上机动手实战如何定制搜索结果的排序规则
    1、默认排序规则默认情况下,是按照_score降序排序的然而,某些情况下,可能没有有用的_score,比如说filterGET/_search{"query":{"bool":{"filter":{"term":{"author_id":1}}}}}当然,也可以是constant_scoreGET/_search{"query"......
  • 52_初识搜索引擎_上机动手实战如何定位不合法的搜索以及其原因
    GET/test_index/test_type/_validate/query?explain{"query":{"math":{"test_field":"test"}}}{"valid":false,"error":"org.elasticsearch.common.ParsingException:no[query]register......
  • 60_初识搜索引擎_上机动手实战基于scoll技术滚动搜索大量数据
    如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以此类推,直到搜索出全部的数据来scoll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只......
  • 62_索引管理_快速上机动手实战修改分词器以及定制自己的分词器
    1、默认的分词器standardstandardtokenizer:以单词边界进行切分standardtokenfilter:什么都不做lowercasetokenfilter:将所有字母转换为小写stoptokenfiler(默认被禁用):移除停用词,比如atheit等等2、修改分词器的设置启用english停用词tokenfilterPUT/my_index{"se......
  • 61_索引管理_快速上机动手实战创建、修改以及删除索引
    1、为什么我们要手动创建索引?2、创建索引创建索引的语法PUT/my_index{"settings":{...anysettings...},"mappings":{"type_one":{...anymappings...},"type_two":{...anymappings...},...}}创建索引的示例PUT/my_index{"se......
  • 27_分布式文档系统_上机动手实战演练bulk批量增删改
    课程大纲1、bulk语法POST/_bulk{"delete":{"_index":"test_index","_type":"test_type","_id":"3"}}{"create":{"_index":"test_index","_type"......
  • 24_上机动手实战演练基于groovy脚本进行partial update
    es,其实是有个内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作基于groovy脚本,如何执行partialupdateesscriptingmodule,我们会在高手进阶篇去讲解,这里就只是初步讲解一下PUT/test_index/test_type/11{"num":0,"tags":[]}(1)内置脚本POST/test_index/test_t......
  • 23_图解partial update实现原理以及动手实战演练
    课程大纲1、什么是partialupdate?PUT/index/type/id,创建文档&替换文档,就是一样的语法一般对应到应用程序中,每次的执行流程基本是这样的:(1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改(2)用户在前台界面修改数据,发送到后台(3)后台代码,会将用户修改的......
  • 26_上机动手实战演练mget批量查询api
    1、批量查询的好处就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍2、mget的语法(1)一条一条的查询GET/test_index/test_type/1GET/test_index/te......