utils.set_attr can now be used to set any attribute.

The old set_attr has been renamed to set_attr_param.
This commit is contained in:
comfyanonymous
2024-03-02 17:27:23 -05:00
parent dce3555339
commit 1abf8374ec
3 changed files with 10 additions and 8 deletions

View File

@@ -176,10 +176,9 @@ class ModelPatcher:
def patch_model(self, device_to=None, patch_weights=True):
for k in self.object_patches:
old = comfy.utils.get_attr(self.model, k)
old = comfy.utils.set_attr(self.model, k, self.object_patches[k])
if k not in self.object_patches_backup:
self.object_patches_backup[k] = old
comfy.utils.set_attr(self.model, k, self.object_patches[k])
if patch_weights:
model_sd = self.model_state_dict()
@@ -203,7 +202,7 @@ class ModelPatcher:
if inplace_update:
comfy.utils.copy_to_param(self.model, key, out_weight)
else:
comfy.utils.set_attr(self.model, key, out_weight)
comfy.utils.set_attr_param(self.model, key, out_weight)
del temp_weight
if device_to is not None:
@@ -342,7 +341,7 @@ class ModelPatcher:
comfy.utils.copy_to_param(self.model, k, self.backup[k])
else:
for k in keys:
comfy.utils.set_attr(self.model, k, self.backup[k])
comfy.utils.set_attr_param(self.model, k, self.backup[k])
self.backup = {}