Model Patch Torch Settings(ModelPatchTorchSettings)
该节点在技术上通过克隆输入的模型,并为其绑定 `ON_PRE_RUN` 和 `ON_CLEANUP` 回调函数来实现。
Model Patch Torch Settings
Model Patch Torch Settings 节点在技术上通过克隆输入的模型,并为其绑定 ON_PRE_RUN 和 ON_CLEANUP 回调函数来实现。
Model Patch Torch Settings 是一个实验性节点,它允许用户在模型运行前后动态修改 PyTorch 的底层计算设置。其核心功能是通过添加回调函数,在模型执行前激活特定的性能优化选项,并在执行后恢复原状,从而实现对模型计算行为的精细控制。
节点功能
该节点在技术上通过克隆输入的模型,并为其绑定 ON_PRE_RUN 和 ON_CLEANUP 回调函数来实现。目前,它主要支持控制 torch.backends.cuda.matmul.allow_fp16_accumulation 这一设置,该设置能够影响 CUDA 矩阵乘法运算中是否允许使用半精度(fp16)累加。此功能需要 PyTorch 2.7.0 或更高版本(如 nightly 版本)的支持,否则节点会报错。
节点参数说明 - Model Patch Torch Settings
连接输入 (Inputs)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
model | MODEL | 是 | - | - | 输入参数 model:接收一个待处理的模型,节点将为此模型添加修改 PyTorch 设置的回调函数。 |
控件参数 (Parameters)
| 参数名称 | 数据类型 | 必填 | 默认值 | 取值范围/选项 | 说明 |
|---|---|---|---|---|---|
enable_fp16_accumulation | BOOLEAN | 是 | False | - | 启用 torch.backends.cuda.matmul.allow_fp16_accumulation,需要 PyTorch 2.7.0 nightly 版本。 |
Output 输出
| 参数名称 | 数据类型 | 说明 |
|---|---|---|
| MODEL | MODEL | 输出参数 MODEL:输出一个已附加了回调函数的新模型实例,用于后续的图像生成流程。 |
使用场景
在涉及复杂模型推理或需要优化显存使用的工作流中,此节点非常有用。例如,当您使用一个大型的 Stable Diffusion 模型进行图像生成,并希望尝试启用 fp16 累加来提升计算速度或减少显存占用时,可以将此节点插入到模型加载节点之后、采样器节点之前,通过开关布尔参数来测试性能差异。
注意事项
请注意,这是一个标记为“实验性”的节点,其稳定性和兼容性可能不如核心节点。最关键的限制是,它必须运行在支持 torch.backends.cuda.matmul.allow_fp16_accumulation 属性的 PyTorch 版本上(即 2.7.1 或更高),否则工作流将无法执行。
Model Patch Torch Settings 节点源码链接
Model Patch Torch Settings 节点来自 ComfyUI-KJNodes 节点包。
评论
使用 GitHub 登录后即可参与讨论。