3838optimizers = []
3939current_optimizer : sd_hijack_optimizations .SdOptimization = None
4040
41+ sgm_original_forward = None
42+ ldm_original_forward = None
43+
44+
4145def list_optimizers ():
4246 new_optimizers = script_callbacks .list_optimizers_callback ()
4347
@@ -255,8 +259,13 @@ def flatten(el):
255259
256260 import modules .models .diffusion .ddpm_edit
257261
258- ldm_original_forward = patches .patch (__file__ , ldm .modules .diffusionmodules .openaimodel .UNetModel , "forward" , sd_unet .UNetModel_forward )
259- sgm_original_forward = patches .patch (__file__ , sgm .modules .diffusionmodules .openaimodel .UNetModel , "forward" , sd_unet .UNetModel_forward )
262+ global sgm_original_forward
263+ global ldm_original_forward
264+ try :
265+ ldm_original_forward = patches .patch (__file__ , ldm .modules .diffusionmodules .openaimodel .UNetModel , "forward" , sd_unet .UNetModel_forward )
266+ sgm_original_forward = patches .patch (__file__ , sgm .modules .diffusionmodules .openaimodel .UNetModel , "forward" , sd_unet .UNetModel_forward )
267+ except RuntimeError :
268+ pass
260269
261270 if isinstance (m , ldm .models .diffusion .ddpm .LatentDiffusion ):
262271 sd_unet .original_forward = ldm_original_forward
@@ -267,7 +276,6 @@ def flatten(el):
267276 else :
268277 sd_unet .original_forward = None
269278
270-
271279 def undo_hijack (self , m ):
272280 conditioner = getattr (m , 'conditioner' , None )
273281 if conditioner :
0 commit comments