ComfyUI节点之 BatchPromptSchedule

在研究Comfyui的过程中,发现一个有趣的节点:BatchPromptSchedule,对于使用方法不是很了解,所以查了下git,这里记录下。
这个节点长成这个样子:
在这里插入图片描述
问题是,git上根本没有这个节点的介绍资料,但是有个类似的节点介绍:promptshedule,是同一个作者。
附github地址:https://github.com/FizzleDorf/ComfyUI_FizzNodes#promptschedule

所以先通过了解promptshedule来了解下作者的思路。

  • 所有这些节点都需要当前帧输入中的基本节点增量输出。要设置这个,请简单地在节点上右键单击并将当前帧转换为一个输入。然后,双击输入以添加一个基本节点。将节点值控制设置为增量,并将值设置为0。基本节点应该如下所示:
    在这里插入图片描述
  • 文本输入 pre_text 和 app_text 用于在每个预定提示的文本之前或之后添加文本。通过双击输入创建的基本节点是单行的,可能有些不方便。我建议在这些输入中使用这些修改后的节点(https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes)中的 TextBox 作为输入。这个节点套件还有许多数学运算符节点,在使用这些节点时可能会派上用场。
    对方是否
  • Prompt Scheduler具有多个选项,需要将它们转换为输入,以便正确使用。Prompt权重通道(pw_a、pw_b等)可以接收来自Value Scheduler的结果,从而完全控制随时间变化的token权重。
    在这里插入图片描述
  • 一个示例的设置,包括前置文本和两个提示权重变量,可能如下所示:
    在这里插入图片描述

“Note: 原作者用这个地址上的工具来生成动画曲线数值.” https://www.chigozie.co.uk/keyframe-string-generator/

PromptSchedule 节点

这个节点使用提示中的表达式来插值提示并自动化提示权重。
要创建关键帧提示,您需要正确格式化它。

"#":"(prompt:`exp`)"

在这里,#表示关键帧(一个整数),prompt表示您的提示,exp表示您的表达式。

关键帧号码需要用引号(“”)括起来,后面跟着一个冒号(:)。您的提示也需要用引号(“”)括起来。如果您计划在此提示之后放置另一个关键帧提示,则需要在上一个提示的结束引号后面加上逗号(,)。如果您不这样做,将会出现错误。如果这是您的最后一个提示,请不要放置逗号,否则也会导致错误。

提示计划中的表达式必须使用反引号(``)括起来,而不是撇号(‘’)!如果您使用提示权重变量,例如pw_a,请确保它也用反引号括起来。

以下是一个语法示例:

"0": "1girl, solo, long grey hair, grey eyes, black sweater, (smiling:`(0.5+0.5*sin(t/12))`)",
"24": "1girl, solo, long grey hair, grey eyes, black sweater, (dancing:`pw_a`)",
"48": "1girl, solo, long grey hair, grey eyes, black sweater, (dancing:`pw_a`)",
"72": "1girl, solo, long grey hair, grey eyes, black sweater, (smiling:`(0.5+0.5*sin(t/max_f))`)"

其中:
t的意思是:current frame
max_f的意思是:max frames

为了减少在每个关键帧上编写完整提示的工作量,可以使用pre_text和app_text分别在计划中的每个提示之前或之后添加保持不变的提示。我建议使用重要说明部分中建议的文本框。将上面的示例转换为如下形式:
pre_text

1girl, solo, long grey hair, grey eyes, black sweater,  

Scheduled Text

"0": "(smiling:`(0.5+0.5*sin(t/12))`)",
"24": "(dancing:`pw_a`)",
"48": "(dancing:`pw_a`)",
"72": "(smiling:`(0.5+0.5*sin(t/max_f))`)"```

这样做将产生与之前提供的第一个示例相同的输出提示,使得提示计划易于阅读和编辑。

最后…既然都看到这里了,我测试的结果是…BatchPromptSchedule跟这个节点并不一样,目前是配合animatediff节点来使用的…单独使用没啥效果。。。。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Zookeeper是一个分布式协调服务,节点是Zookeeper中的基本单位。节点有两种类型:临时节点和持久节点节点的基本操作包括创建节点、删除节点、读取节点数据、更新节点数据和监听节点变化等。创建节点时需要指定节点类型、节点路径和节点数据。删除节点时需要指定节点路径和版本号。读取节点数据时需要指定节点路径和是否监听节点变化。更新节点数据时需要指定节点路径、新数据和版本号。监听节点变化时需要指定节点路径和回调函数。这些基本操作可以通过Zookeeper提供的API来实现。 ### 回答2: Zookeeper是一个分布式协调服务,它为分布式应用提供了协调机制。在Zookeeper中,节点是其最基本的操作单元。本文将详细介绍Zookeeper中节点的基本操作。 1. 创建节点 在Zookeeper中,可以使用create命令创建节点。create命令的格式为: create [path] [data] [acl] 其中,path表示节点的路径,data表示节点的数据,acl表示节点的访问控制列表。 例如,我们可以使用以下命令在Zookeeper中创建一个名为“/test”的节点,数据为“hello world”: create /test hello world 2. 读取节点数据 在Zookeeper中,可以使用get命令读取节点的数据。get命令的格式为: get [path] 例如,我们可以使用以下命令在Zookeeper中读取“/test”节点的数据: get /test 3. 更新节点数据 在Zookeeper中,可以使用set命令更新节点的数据。set命令的格式为: set [path] [data] [version] 其中,path表示要更新的节点的路径,data表示节点的新数据,version表示节点的版本号。 例如,我们可以使用以下命令在Zookeeper中更新“/test”节点的数据为“hello zookeeper”: set /test hello zookeeper 4. 删除节点 在Zookeeper中,可以使用delete命令删除节点。delete命令的格式为: delete [path] [version] 其中,path表示要删除的节点的路径,version表示节点的版本号。 例如,我们可以使用以下命令在Zookeeper中删除“/test”节点: delete /test 5. 列出子节点 在Zookeeper中,可以使用ls命令列出一个节点的子节点。ls命令的格式为: ls [path] 例如,我们可以使用以下命令在Zookeeper中列出“/test”节点的子节点: ls /test 上述便是Zookeeper中节点的基本操作,通过这些操作我们能够实现Zookeeper中节点的创建、读取、更新、删除和子节点的列出等基本功能,从而满足分布式应用的协调需求。 ### 回答3: Zookeeper是一个开源的分布式协调服务框架,它为分布式应用提供共享状态和集群管理基础设施。在Zookeeper中,节点是指在Zookeeper上的数据单元,使用路径表示,相当于一个文件系统的路径。节点可以是一个简单的数据节点,也可以是一个临时数据节点和带序列号的数据节点节点的基本操作包括创建节点、删除节点和更新节点的数据。创建节点可以使用create命令,其语法如下: create [-s] [-e] path data acl 其中-s表示创建一个序列节点,-e表示创建一个临时节点,path表示节点路径,data表示节点的数据,acl表示节点的访问控制列表。 删除节点可以使用delete命令,其语法如下: delete path [version] 其中path表示节点路径,version表示节点的版本号。只有当节点的版本号与指定的版本号一致时才能删除节点。 更新节点的数据可以使用set命令,其语法如下: set path data [version] 其中path表示节点路径,data表示节点的新数据,version表示节点的版本号。只有当节点的版本号与指定的版本号一致时才能更新节点的数据。 除了基本操作外,节点还有一些高级特性,比如序列节点和临时节点。序列节点会在节点路径后面自动添加一个序列号,以避免节点名称重复,而临时节点会在与Zookeeper服务断开连接后自动删除。 总之,节点是Zookeeper中最基本的数据单元,可以创建、删除和更新节点的数据,这些操作可以帮助我们维护分布式应用中的共享状态和集群管理基础设施。同时,高级特性如序列节点和临时节点也为我们提供了更多灵活性和便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值