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,可以显著提升复杂工作流的可维护性和效率。

相关推荐
学好statistics和DS13 分钟前
【CV】神经网络中哪些参数需要被学习?
人工智能·神经网络·学习
栀寒老醑13 分钟前
Python实现的服务器日志监控脚本
开发语言·python
大千AI助手14 分钟前
机器学习特征筛选中的IV值详解:原理、应用与实现
人工智能·机器学习·kl散度·roc·iv·信息值·woe
姜—姜16 分钟前
通过构建神经网络实现项目预测
人工智能·pytorch·深度学习·神经网络
Ro Jace19 分钟前
模式识别与机器学习课程笔记(4):线性判决函数
人工智能·笔记·机器学习
科研小白_1 小时前
基于遗传算法优化BP神经网络(GA-BP)的数据时序预测
人工智能·算法·回归
yaoxin5211231 小时前
211. Java 异常 - Java 异常机制总结
java·开发语言·python
互联网江湖2 小时前
蓝桥杯出局,少儿编程的价值祛魅时刻?
人工智能·生活
Elastic 中国社区官方博客2 小时前
根据用户行为数据中的判断列表在 Elasticsearch 中训练 LTR 模型
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
paid槮3 小时前
OpenCV图像形态学详解
人工智能·opencv·计算机视觉