当前位置: 首页 > news >正文

ComfyUI-KJNodes:让 ComfyUI 更快更省心的完整教程

ComfyUI-KJNodes:让 ComfyUI 更快更省心的完整教程

【免费下载链接】ComfyUI-KJNodesVarious custom nodes for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes

如果你用 ComfyUI 有一段时间,多半遇到过这些糟心事:批量处理上百张图很慢、显存(VRAM,即显卡显存)占用摸不着头脑、工作流越长线越乱、模型加载的参数散得找不着。ComfyUI-KJNodes 是 ComfyUI 的一个自定义节点包,把这些常见痛点做成了一个系列现成节点:批量图像处理、模型编译加速、注意力优化、显存监控、子图数据传递(Set/Get 节点)。装好之后直接在界面里拖出来就能用。这篇文章带你走一遍:装好它 → 跑通第一个小例子 → 调性能 → 避坑。

它到底能干什么:核心功能先扫一眼

装之前先看看"工具箱"里有什么:

  • 批量图像处理ImageBatchMultiImageConcatFromBatch这类节点会把大批次图片自动拆开分批处理,适合数据集预处理和批量出图
  • 模型加载与组件分离CheckpointLoaderKJDiffusionModelLoaderKJ支持 SDXL 多组件分离加载,有限显存下也能跑
  • 模型编译加速TorchCompileModelFluxAdvancedV2TorchCompileVAETorchCompileControlNet把模型的不同部分分别编译,支持多种编译后端
  • 显存监控StartRecordCUDAMemoryHistory/EndRecordCUDAMemoryHistory/VisualizeCUDAMemoryHistory三件套可以录制并回放显存使用曲线;ModelMemoryUseReportPatch给你实时报告
  • 注意力优化:SAGE 注意力(PathchSageAttentionKJ)、NABLA 稀疏注意力(NABLA_AttentionKJ),主要面向长序列视频生成
  • 工作流整理:2026 年 3 月重写的 Set/Get 节点系统支持跨子图边界取数,还带一批快捷键;WidgetToString能把任意节点的参数值读成字符串,方便显示和传递

更完整的更新记录可以看项目根目录的 README.md,里面也有官方安装说明。

KJNodes 安装教程:3 步装完

安装过程本身很简单,三步:

  1. 把仓库克隆到 ComfyUI 的custom_nodes目录
  2. 安装依赖
  3. 重启 ComfyUI,在节点菜单里搜 KJNodes 相关节点

命令行版:

git clone https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes ComfyUI/custom_nodes/ComfyUI-KJNodes pip install -r ComfyUI/custom_nodes/ComfyUI-KJNodes/requirements.txt

如果你用的是 Windows 便携版,要改用自带 Python 装依赖:在 portable 目录里执行python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-KJNodes\requirements.txt

3 分钟跑通第一个工作流

装完之后,先跑个最小例子确认环境没问题。

用 Get Model Name 读出模型信息

以加载 SDXL 模型为例。把加载节点的输出接到Get Model Name节点,就能拿到工作流里任意节点的 ID 和参数名(比如base_ckpt_name),再喂给 Show Text 显示出来。调试的时候特别好用:一眼看出当前实际生效的是哪个 checkpoint。

上图是 Eff. Loader SDXL 节点(左侧来自另一个插件)加载 SDXL 模型,基础模型、refiner、VAE 等参数一目了然;右侧Get Model Name按 ID(193)读出了 #193 节点的base_ckpt_name取值,Show Text 把结果直接打在画布上。

WidgetToString:把参数值变成字符串

WidgetToString解决更麻烦的场景:你想读的不是节点 ID,而是某个非字符串参数(比如下拉框选项)。填上目标节点的 id 和参数名(widget_name),输出就是一个 STRING,可以接到任意显示节点。

图中WidgetToString(id=2)读出 Load Checkpoint 节点的ckpt_name参数,Show Text 里直接显示 "1_5\photon_v1.safetensors"——核对加载的文件对不对,比反复点开参数框快得多。

Set/Get:长工作流的生命线

工作流一旦超过几十个节点,"线多到打架"就难免。KJNodes 的 Set/Get 系统就是干这个的:数据放进 Set 节点,从 Get 节点取出来,物理连线不用横穿全屏。2026 年 3 月的更新还支持跨子图边界——父图里 Set,子图里 Get。常用快捷键:

  • Ctrl+Shift+S:给选中节点添加 Set
  • Ctrl+Shift+G:在光标处添加 Get
  • Ctrl+Shift+L:临时显示全部虚拟连线
  • 双击 Get 节点:直接跳到对应的 Set 节点

显存不够时这样配:性能调优实战

这是 KJNodes 最能体现价值的部分。参考文章给出的测试环境是 RTX 4090、24GB 显存,几个有出处的数字:

  • 图像批处理:处理 100 张 512×512 图片,速度快 42%,显存占用降 28%
  • 视频生成:生成 30 秒 1080p 视频,推理时间少 35%,显存峰值低 31%
  • 模型编译:首次编译比平时慢 15% 左右,之后的推理速度快 48%

三类优化的大致收益对比:

优化策略显存降低速度提升最适合
模型编译15–25%30–50%大规模批处理
注意力算法20–35%25–40%长序列视频生成
内存管理30–45%10–20%显存有限的环境
批量处理25–40%40–60%数据集预处理

编译:后端选对才算数

TorchCompileModelFluxAdvancedV2支持多种编译后端,选择逻辑很简单:

  • Inductor:NVIDIA RTX 系列用,性能最好
  • NNC:AMD 和 Intel 显卡用,跨平台兼容性好
  • AOT-Eager:调试和开发环境用

注意力算法:按任务挑

  • SAGE 注意力:追求出图质量时用
  • NABLA 稀疏注意力:长序列视频,显存占用明显更低
  • Flash 注意力:实时场景,推理速度最快

先监控,再动手调

不确定显存在哪被吃掉时,先在待测段落前后各放一个StartRecordCUDAMemoryHistoryEndRecordCUDAMemoryHistory,再用VisualizeCUDAMemoryHistory回放曲线。视频类工作流还可以试试WanVideoTeaCacheKJ,它做时间缓存,跳过重复计算。

KJNodes 和原生节点的区别 + 常见坑

一句话总结区别:原生节点是"功能积木",KJNodes 是积木之上的"工程工具"——批量、编译、监控、工作流组织,这些在原生 ComfyUI 里点不出来。

容易踩的坑,提前说:

  • 别把编译当瞬时的:第一次运行要做完整编译,比不编译还慢,后面的运行才快。别拿一次性测试下结论。
  • 编译后端别选错:生产环境用 AOT-Eager、NVIDIA 卡上选 NNC,都是白亏性能。
  • 批量节点不是万能加速ImageBatchMulti是分块处理的,批次越大收益越明显;只处理两张图,原生节点照样快。
  • Set/Get 复制粘贴后注意命名:粘贴 Set+Get 对时 Get 节点会跟着 Set 的改名走(比如MODELMODEL_0),避免重名冲突;想转回普通连线,右键 Set/Get 节点即可。
  • 显存监控节点有开销:录制回放本身占一点资源,测完记得摘掉。

收尾:把要点带走

ComfyUI-KJNodes 解决三类事:大批量图跑得快、推理提速、长工作流可读。建议路径是:先装好,跑通一次模型信息读取的例子,再按你的硬件挑编译或监控节点。等工作流越长,Set/Get 和子图支持会成为你最高频的功能——这也是 KJNodes 和原生节点最大的差异所在。

【免费下载链接】ComfyUI-KJNodesVarious custom nodes for ComfyUI项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4163834.html

相关文章:

  • GetQzonehistory完整指南:三步备份QQ空间十年说说,把青春存成文件
  • 一条命令重置 Navicat 15 天试用期:navicat-key 手把手自动清理注册表指南
  • 数学教师如何运用多智能体AI系统实现个性化习题生成与精准教学
  • 300元打造DIY扫地机器人:开源材料、组装与编程完整指南
  • taskt:免费开源的 Windows RPA 流程自动化工具
  • Linux下精准释放GPU显存:从kill命令到进程管理的完整指南
  • 朴素贝叶斯分类器:从原理到实战的文本分类指南
  • Linux 上的 B 站客户端 bilibili-linux:3 种方式装好,首次观看全流程走通
  • 插上充电器,安卓自动开机:Magisk Autoboot 实战上手
  • 免费解锁 Wand 专业版:从装好工具到手机远程控制的完整指南
  • 无侵入式服务测试:Vinv工具在微服务诊断中的实战应用
  • AI规划从艺术到工程:Skill_vault如何实现计划的形式化验证与并行执行
  • 基于大语言模型的智能数据查询系统:从自然语言到业务洞察
  • trimAl 多序列比对修剪:四种自动模式与阈值参数选型指南
  • 电工杯数学建模竞赛解题复盘:储能优化与无人机通信的资源调度模型
  • 数学建模核心技能:插值与拟合的原理、选型与MATLAB/Python实战
  • 选对AI论文软件提前 2 周交稿!高赞工具实测 + 选择避坑
  • Auto-Photoshop-StableDiffusion-Plugin 使用教程:Photoshop 内直接生成 Stable Diffusion 图像的完全指南
  • 一条命令把 NCM 转成 MP3:ncmdump 完整指南
  • 移动端系统识别App开发:Flutter+C++实现传递函数估计
  • 30 秒把 ncm 转成 mp3:ncmdump 解密工具用法
  • 多模态视频融合:具身智能的视觉感知与时空一致性建模
  • AI智能体如何像导演一样高效生成3D场景:SceneOrchestra技术解析
  • jPOS 快速上手:Java 里搞定 ISO 8583 报文处理,10 分钟跑起 Q2 服务
  • 支持向量机SVM核心原理与实战:从最大间隔到核技巧
  • 操作系统内存连续分配管理:四大算法原理、碎片分析与实战解析
  • MemcardRex 使用指南:PS1 记忆卡存档编辑与格式转换上手手册
  • HaE规则编写实战指南:5分钟写出第一条可用的正则提取规则
  • 从BERT到GPT:理解与生成两大技术路径的深度解析与实战指南
  • Linux DNS主从架构与RNDC远程管理实战部署指南