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

相关推荐
kngines17 分钟前
【字节跳动】数据挖掘面试题0001:打车场景下POI与ODR空间关联查询
人工智能·数据挖掘·面试题
蓝婷儿1 小时前
Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
python·机器学习·分类
Devil枫2 小时前
Kotlin扩展函数与属性
开发语言·python·kotlin
程序员阿超的博客3 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程
xingshanchang4 小时前
PyTorch 不支持旧GPU的异常状态与解决方案:CUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
人工智能·pytorch·python
reddingtons5 小时前
Adobe Firefly AI驱动设计:实用技巧与创新思维路径
大数据·人工智能·adobe·illustrator·photoshop·premiere·indesign
CertiK5 小时前
IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
人工智能·安全·web3
Deepoch6 小时前
Deepoc 大模型在无人机行业应用效果的方法
人工智能·科技·ai·语言模型·无人机
Deepoch6 小时前
Deepoc 大模型:无人机行业的智能变革引擎
人工智能·科技·算法·ai·动态规划·无人机
kngines7 小时前
【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
人工智能·数据挖掘·mapreduce·面试题