diff options
Diffstat (limited to 'modules/sd_hijack.py')
-rw-r--r-- | modules/sd_hijack.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py index 3d340fc9..e139d996 100644 --- a/modules/sd_hijack.py +++ b/modules/sd_hijack.py @@ -38,6 +38,13 @@ ldm.models.diffusion.ddpm.print = shared.ldm_print optimizers = []
current_optimizer: sd_hijack_optimizations.SdOptimization = None
+ldm_patched_forward = sd_unet.create_unet_forward(ldm.modules.diffusionmodules.openaimodel.UNetModel.forward)
+ldm_original_forward = patches.patch(__file__, ldm.modules.diffusionmodules.openaimodel.UNetModel, "forward", ldm_patched_forward)
+
+sgm_patched_forward = sd_unet.create_unet_forward(sgm.modules.diffusionmodules.openaimodel.UNetModel.forward)
+sgm_original_forward = patches.patch(__file__, sgm.modules.diffusionmodules.openaimodel.UNetModel, "forward", sgm_patched_forward)
+
+
def list_optimizers():
new_optimizers = script_callbacks.list_optimizers_callback()
@@ -255,9 +262,6 @@ class StableDiffusionModelHijack: import modules.models.diffusion.ddpm_edit
- ldm_original_forward = patches.patch(__file__, ldm.modules.diffusionmodules.openaimodel.UNetModel, "forward", sd_unet.UNetModel_forward)
- sgm_original_forward = patches.patch(__file__, sgm.modules.diffusionmodules.openaimodel.UNetModel, "forward", sd_unet.UNetModel_forward)
-
if isinstance(m, ldm.models.diffusion.ddpm.LatentDiffusion):
sd_unet.original_forward = ldm_original_forward
elif isinstance(m, modules.models.diffusion.ddpm_edit.LatentDiffusion):
@@ -303,11 +307,6 @@ class StableDiffusionModelHijack: self.layers = None
self.clip = None
- patches.undo(__file__, ldm.modules.diffusionmodules.openaimodel.UNetModel, "forward")
- patches.undo(__file__, sgm.modules.diffusionmodules.openaimodel.UNetModel, "forward")
-
- sd_unet.original_forward = None
-
def apply_circular(self, enable):
if self.circular_enabled == enable:
|