From f5c899f42aa056055dc682d206c9802288ce17e3 Mon Sep 17 00:00:00 2001 From: "kosinkadink1@gmail.com" Date: Sun, 15 Sep 2024 21:00:45 +0900 Subject: [PATCH] Fixed MaxSpeed and default conds implementations --- comfy/model_patcher.py | 5 +++-- comfy/samplers.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index 587080f44..e39d6abb6 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -711,6 +711,7 @@ class ModelPatcher: def unpatch_hooks(self) -> None: if len(self.hook_backup) == 0: + self.current_hooks = None return keys = list(self.hook_backup.keys()) if self.weight_inplace_update: @@ -722,9 +723,9 @@ class ModelPatcher: else: for k in keys: if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: - comfy.utils.copy_to_param(self.model, k, self.hook_backup[k][0]) + comfy.utils.set_attr_param(self.model, k, self.hook_backup[k][0]) else: - comfy.utils.copy_to_param(self.model, k, self.hook_backup[k][0].to(device=self.hook_backup[k][1])) + comfy.utils.set_attr_param(self.model, k, self.hook_backup[k][0].to(device=self.hook_backup[k][1])) self.hook_backup.clear() self.current_hooks = None diff --git a/comfy/samplers.py b/comfy/samplers.py index 24ff8d7eb..63a8562ef 100644 --- a/comfy/samplers.py +++ b/comfy/samplers.py @@ -152,7 +152,10 @@ def finalize_default_conds(hooked_to_run: Dict[comfy.hooks.HookGroup,List[Tuple[ if len(default_conds[i]) == 0: continue area: list[int] = cond_obj.area - default_mults[i][:,:,area[2]:area[0] + area[2],area[3]:area[1] + area[3]] -= cond_obj.mult + if area is not None: + default_mults[i][:,:,area[2]:area[0] + area[2],area[3]:area[1] + area[3]] -= cond_obj.mult + else: + default_mults[i] -= cond_obj.mult # for each default_mult, ReLU to make negatives=0, and then check for any nonzeros for i, mult in enumerate(default_mults): # if no default_cond for cond type, do nothing