comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 2 :寻找丢失的model 和工作流中 get set 方法的应用

comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 2 寻找丢失的model 和工作流中 get set 方法的应用

第一:寻找丢失的model

在上一文章 安装完 自定义节点ComfyUI-WanVideoWrapper 后 我们打开实列 工作流。wanvideo_skyreels_diffusion_forcing_extension_example_01.json

后 点击 运行 会提示,丢失 各种model 和 其他vae 之类的,都是因为 工作流 节点中 用的的nodel or vae 命名和comfyui 中名称不一致导致的 例如:json 中的 model 名称是:"WanVideo\SkyreelslWan2_1-SkyReels-V2-DF-1_38-540P fp32.safetensors 但在我们的comfyUI中确说:wan2.1\Wan2 1-SkyReels-V2-DF-1_3B-540P_fp32.safetensors 需要我们一一纠正过来。基本上都是,模型的名称是对的,但目录前缀不对

根据 json 提示的 链接地址,去 https://huggingface.co/ 下载即可(需要合理上网)

您可以从Kijai 的这个存储库( https://huggingface.co/Kijai/WanVideo_comfy/blob/main/Wan2_1_VAE_bf16.safetensors )下载 VAE

自定义节点:WanVideo_comfy 中需要用到的各种模型地址:
https://huggingface.co/Kijai/WanVideo_comfy/tree/main

第二:工作流中 get 和 set 方法的使用

我们打开 工作流:wanvideo_skyreels_diffusion_forcing_extension_example_01.json 后会发现 很多节点是断掉的,并没有链接向其它节点

在 ComfyUI 的工作流中,getset 方法 主要用于节点间动态传递数据和状态管理。它们通过 Reroute 节点(或自定义节点)实现数据的读取和写入,以下是详细说明:


1. get 方法(获取数据)

  • 作用:从指定节点或全局变量中读取数据。

  • 使用场景

    • 需要复用某个节点的输出数据(如图像、潜变量、条件等)。
    • 避免重复计算,直接从缓存中获取结果。
  • 操作步骤

    1. 添加 Reroute 节点(搜索 "Reroute" 或 "Get")。
    2. Reroute 节点的输入连接到目标节点的输出。
    3. 在其他节点中调用该 Reroute 节点即可获取数据。
    python 复制代码
    # 示例:自定义节点中通过 get 获取数据
    class GetDataNode:
        @classmethod
        def INPUT_TYPES(cls):
            return {"required": {"data_id": ("STRING", {"default": "my_data"})}}
        
        FUNCTION = "get_data"
        RETURN_TYPES = ("IMAGE",)  # 根据数据类型定义
        
        def get_data(self, data_id):
            # 从全局缓存中获取数据
            data = global_cache.get(data_id)
            return (data,)

2. set 方法(存储数据)

  • 作用 :将数据存储到全局变量中,供后续节点通过 get 调用。

  • 使用场景

    • 保存中间结果(如预处理后的图像、文本嵌入)。
    • 跨节点共享复杂数据。
  • 操作步骤

    1. 添加 Reroute 节点(搜索 "Reroute" 或 "Set")。
    2. 将需要存储的数据输入 Reroute 节点。
    3. 为数据分配唯一标识符(ID)。
    python 复制代码
    # 示例:自定义节点中通过 set 存储数据
    global_cache = {}  # 全局缓存
    
    class SetDataNode:
        @classmethod
        def INPUT_TYPES(cls):
            return {"required": {"data": ("IMAGE",), "data_id": ("STRING", {"default": "my_data"})}}
        
        FUNCTION = "set_data"
        RETURN_TYPES = ()  # 无直接输出
        
        def set_data(self, data, data_id):
            global_cache[data_id] = data  # 存储到缓存
            return ()

3. 工作流中的典型应用

  1. 保存中间结果

    • 使用 set 节点存储潜变量 → 后续通过 get 节点调用该变量生成图像。
    • 避免重复运行 VAE 编码等耗时操作。
  2. 动态参数传递

    • 将文本提示通过 set 存储 → 在不同采样步骤中通过 get 动态修改提示词。
  3. 共享数据

    • 多个分支节点需要同一份数据时(如共享的 ControlNet 条件),用 get 统一调用。

4. 注意事项

  • 唯一标识符setgetdata_id 需保持一致才能匹配数据。
  • 作用域:数据通常保存在工作流的一次运行周期内,重启工作流后失效。
  • 性能 :频繁读写小数据时直接连线更高效;大数据复用建议用 set/get
  • 自定义节点 :可通过 Python API 扩展更复杂的 set/get 逻辑(如条件存储)。

5. 可视化示例

通过灵活组合 setget,可以显著提升复杂工作流的可维护性和效率。

相关推荐
深蓝海拓8 小时前
PySide6从0开始学习的笔记(四)QMainWindow
笔记·python·学习·pyqt
百胜软件@百胜软件9 小时前
重塑零售未来:百胜智能中台+胜券AI,赋能品牌零售撬动3100亿增量市场
大数据·人工智能·零售
深蓝海拓9 小时前
PySide6 的 QSettings简单应用学习笔记
python·学习·pyqt
Shawn_Shawn14 小时前
人工智能入门概念介绍
人工智能
极限实验室14 小时前
程序员爆哭!我们让 COCO AI 接管 GitLab 审查后,团队直接起飞:连 CTO 都说“这玩意儿比人靠谱多了
人工智能·gitlab
Maynor99615 小时前
Z-Image: 100% Free AI Image Generator
人工智能
码界奇点15 小时前
Python从0到100一站式学习路线图与实战指南
开发语言·python·学习·青少年编程·贴图
爬点儿啥16 小时前
[Ai Agent] 10 MCP基础:快速编写你自己的MCP服务器(Server)
人工智能·ai·langchain·agent·transport·mcp
张人玉16 小时前
百度 AI 图像识别 WinForms 应用代码分析笔记
人工智能·笔记·百度
测试人社区-小明16 小时前
智能弹性伸缩算法在测试环境中的实践与验证
人工智能·测试工具·算法·机器学习·金融·机器人·量子计算