ComfyUI - 数据类型


这些是最重要的内置数据类型。你还可以定义自己的

数据类型通过 INPUT_TYPES 中的 str 指定,COMBO 除外,它是 list[str]

数据类型在客户端使用,以防止工作流将错误形式的数据传递给节点 - 类似于强类型。
JavaScript 客户端代码通常不允许将不同数据类型的节点输出连接到输入,尽管下面有一些例外。


Comfy 的数据类型


COMBO

  • INPUT_TYPES 中没有额外的参数
  • Python 数据类型:定义为 list[str],输出值为 str

表示下拉菜单小部件。
与其他数据类型不同,COMBO 不是通过 strINPUT_TYPES 中指定的,而是通过一个 list[str],对应下拉列表中的选项,默认选择第一个选项。

COMBO 输入通常在运行时动态生成。例如,在内置的 CheckpointLoaderSimple 节点中,你会发现

"ckpt_name": (folder_paths.get_filename_list("checkpoints"), )

或者它们可能只是一个固定的选项列表,

"play_sound": (["no","yes"], {}),

原始和重定向

原始和重定向节点仅存在于客户端。它们没有内在的数据类型,但当连接时,它们会采用所连接的输入或输出的数据类型(这也是为什么它们不能连接到 * 输入的原因……)


Python 数据类型


INT

  • INPUT_TYPES 中的额外参数:
    • default 是必需的
    • minmax 是可选的
  • Python 数据类型 int

FLOAT

  • INPUT_TYPES中的附加参数:
    • default 是必需的
    • min, max, step 是可选的
  • Python 数据类型 float

STRING

  • INPUT_TYPES 中的附加参数:
    • default 是必需的
  • Python 数据类型 str

张量数据类型

MASK, IMAGE 和 LATENT 都使用 torch.Tensor 类型,但它们的 shape 不同。
参见‘图像、潜变量和掩码’部分的讨论。


IMAGE

  • INPUT_TYPES 中没有额外的参数
  • Python 数据类型 torch.Tensorshape 为 [B,H,W,C]

一批 B 张图像,高度 H,宽度 WC 个通道(通常 C=3 对于 RGB)。


LATENT

  • INPUT_TYPES 中没有额外的参数
  • Python 数据类型 dict,包含一个 形状 [B,C,H,W] 的 torch.Tensor

传递的 dict 包含键 samples,它是一个 形状 [B,C,H,W] 的 torch.Tensor,代表一个包含 B 个潜在值的批次,C 个通道(对于现有的稳定扩散模型,通常 C=4),高度 H 和宽度 W

高度和宽度是相应图像大小的 1/8(这是你在 Empty Latent Image 节点中设置的值)。

字典中的其他条目包含诸如潜在掩码之类的其他内容。


MASK

  • INPUT_TYPES 中没有额外的参数
  • Python 数据类型 torch.Tensor,具有 shape [H,W] 或 [B,C,H,W]

自定义采样数据类型


Noise

NOISE 数据类型表示一个 (而不是实际的噪声本身)。它可以由任何提供 generate_noise(self, input_latent:Tensor) -> Tensor 方法的 Python 对象表示,该方法的签名包含一个属性,seed:Optional[int]

seed 被传递到 SamplerCustomAdvanced 中的 sample 指引器,但似乎在所有标准指引器中都没有被使用。它是可选的,所以你通常可以将其设置为 None。
当需要添加噪声时,将潜在变量传递到该方法,该方法应返回一个形状相同且包含噪声的 Tensor

查看 噪声混合示例


采样器 Sampler

SAMPLER 数据类型表示一个采样器,它是一个Python对象,提供了一个 sample 方法。
稳定扩散采样超出了本指南的范围;如果您想深入了解这部分代码,请参阅 comfy/samplers.py


Sigmas

SIGMAS 数据类型表示采样过程中的每一步之前和之后的σ值,由调度器生成。
这表示为一个一维张量,长度为 steps+1,其中每个元素表示对应步骤之前预期的噪声,最终值表示最终步骤之后的噪声。

对于一个具有 20 步和 1 次去噪的 normal 调度器,SDXL 模型会产生:

tensor([14.6146, 10.7468,  8.0815,  6.2049,  4.8557,  
         3.8654,  3.1238,  2.5572,  2.1157,  1.7648,  
         1.4806,  1.2458,  1.0481,  0.8784,  0.7297,  
         0.5964,  0.4736,  0.3555,  0.2322,  0.0292,  0.0000])

sigma的起始值取决于模型,这就是为什么调度节点需要一个MODEL输入来生成SIGMAS输出

Guider

GUIDER是对去噪过程的泛化,即通过提示或其他任何形式的条件“引导”。在Comfy中,guider由一个提供__call__(*args, **kwargs)方法的callable Python对象表示,该方法被样本调用。

__call__方法接收(在args[0]中)一组噪声潜在值(形状为[B,C,H,W]的张量),并返回噪声的预测(形状相同的张量)。


模型数据类型

稳定扩散模型有许多更技术化的数据类型。其中最重要的包括 MODELCLIPVAECONDITIONING
使用这些数据类型(目前)超出了本指南的范围!


额外参数

以下是在输入定义的“额外选项”部分可以使用的官方支持的键的列表。

您可以使用额外的键来创建自己的自定义小部件,但不应将以下任何键用于其他目的。

描述
default小部件的默认值
min数字(FLOATINT)的最小值
max数字(FLOATINT)的最大值
step增加或减少小部件的量
label_on当布尔值为 True 时在 UI 中使用的标签(BOOL
label_off当布尔值为 False 时在 UI 中使用的标签(BOOL
defaultInput默认为输入插座而不是支持的部件
forceInputdefaultInput 并且不允许转换为部件
multiline使用多行文本框(STRING
placeholder在 UI 中为空时显示的占位文本(STRING
dynamicPrompts导致前端评估动态提示
lazy声明此输入使用懒加载评估
rawLink当存在链接时,而不是接收评估值,您将接收链接(即 ["nodeId", <outputIndex>])。主要在您的节点使用节点扩展时有用。

### ComfyUI-AKI 项目概述 ComfyUI-AKI 是基于 ComfyUI 的扩展版本,专注于提供更便捷的操作体验和功能增强。此工具集成了多种实用特性,使得用户能够更加高效地管理和处理 AI 绘画任务[^1]。 ### 使用指南 对于希望深入了解并有效利用 ComfyUI-AKI 功能的用户而言,建议参考一系列基础教程。这些教程不仅涵盖了软件的选择理由及其优势劣势分析,还包括详细的安装指导、模型加载方式等内容[^2]。具体来说: - **环境准备**:确保本地开发环境满足最低需求; - **安装过程**:按照官方文档指示完成必要的依赖项部署; - **启动应用**:执行命令行指令来初始化应用程序实例; ```bash git clone https://github.com/your-repo/comfyui.git cd comfyui pip install -r requirements.txt python app.py ``` 上述代码片段展示了如何克隆仓库至本地,并设置所需的 Python 库环境以便顺利运行程序。 ### 获取资源 除了遵循标准流程外,还可以访问特定链或平台以获得额外的支持材料和技术文档。例如,在某些情况下,开发者可能会分享预训练好的模型文件或其他辅助性数据集合供社区成员交流学习之用[^3]。 ### 模型下载与使用 当涉及到具体的模型操作时,《全面指南》提供了关于 Stable Diffusion 这类流行框架下常见模型的具体说明。这有助于理解不同类型的神经网络架构特点及应用场景,进而做出明智的选择[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值