diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-02 16:35:47 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-02 16:35:47 +0000 |
commit | ac02216e540cd581f9169c6c791e55721e3117b0 (patch) | |
tree | 37d8a0e2d73610cf5d06aad36ed19097ffe488e2 /modules/sd_unet.py | |
parent | af5f0734c9b0dc26934292849b7df006a598bd80 (diff) | |
download | stable-diffusion-webui-gfx803-ac02216e540cd581f9169c6c791e55721e3117b0.tar.gz stable-diffusion-webui-gfx803-ac02216e540cd581f9169c6c791e55721e3117b0.tar.bz2 stable-diffusion-webui-gfx803-ac02216e540cd581f9169c6c791e55721e3117b0.zip |
alternate implementation for unet forward replacement that does not depend on hijack being applied
Diffstat (limited to 'modules/sd_unet.py')
-rw-r--r-- | modules/sd_unet.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/modules/sd_unet.py b/modules/sd_unet.py index 6a7bc9e2..a771849c 100644 --- a/modules/sd_unet.py +++ b/modules/sd_unet.py @@ -5,8 +5,7 @@ from modules import script_callbacks, shared, devices unet_options = []
current_unet_option = None
current_unet = None
-original_forward = None
-
+original_forward = None # not used, only left temporarily for compatibility
def list_unets():
new_unets = script_callbacks.list_unets_callback()
@@ -84,9 +83,12 @@ class SdUnet(torch.nn.Module): pass
-def UNetModel_forward(self, x, timesteps=None, context=None, *args, **kwargs):
- if current_unet is not None:
- return current_unet.forward(x, timesteps, context, *args, **kwargs)
+def create_unet_forward(original_forward):
+ def UNetModel_forward(self, x, timesteps=None, context=None, *args, **kwargs):
+ if current_unet is not None:
+ return current_unet.forward(x, timesteps, context, *args, **kwargs)
+
+ return original_forward(self, x, timesteps, context, *args, **kwargs)
- return original_forward(self, x, timesteps, context, *args, **kwargs)
+ return UNetModel_forward
|