KJNodes/experimentalgenerated

Model Patch Torch Settings(ModelPatchTorchSettings)

该节点在技术上通过克隆输入的模型,并为其绑定 `ON_PRE_RUN` 和 `ON_CLEANUP` 回调函数来实现。

Model Patch Torch Settings

model
MODEL
enable_fp16_accumulation
KJNodes

Model Patch Torch Settings 节点在技术上通过克隆输入的模型,并为其绑定 ON_PRE_RUNON_CLEANUP 回调函数来实现。

Model Patch Torch Settings 是一个实验性节点,它允许用户在模型运行前后动态修改 PyTorch 的底层计算设置。其核心功能是通过添加回调函数,在模型执行前激活特定的性能优化选项,并在执行后恢复原状,从而实现对模型计算行为的精细控制。

节点功能

该节点在技术上通过克隆输入的模型,并为其绑定 ON_PRE_RUNON_CLEANUP 回调函数来实现。目前,它主要支持控制 torch.backends.cuda.matmul.allow_fp16_accumulation 这一设置,该设置能够影响 CUDA 矩阵乘法运算中是否允许使用半精度(fp16)累加。此功能需要 PyTorch 2.7.0 或更高版本(如 nightly 版本)的支持,否则节点会报错。

节点参数说明 - Model Patch Torch Settings

连接输入 (Inputs)

参数名称数据类型必填默认值取值范围/选项说明
modelMODEL--输入参数 model:接收一个待处理的模型,节点将为此模型添加修改 PyTorch 设置的回调函数。

控件参数 (Parameters)

参数名称数据类型必填默认值取值范围/选项说明
enable_fp16_accumulationBOOLEANFalse-启用 torch.backends.cuda.matmul.allow_fp16_accumulation,需要 PyTorch 2.7.0 nightly 版本。

Output 输出

参数名称数据类型说明
MODELMODEL输出参数 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 登录后即可参与讨论。

评论加载中…