Эх сурвалжийг харах

Release processing resources after it finishes

Jairo Correa 2 жил өмнө
parent
commit
c9148b2312

+ 2 - 0
modules/img2img.py

@@ -137,6 +137,8 @@ def img2img(mode: int, prompt: str, negative_prompt: str, prompt_style: str, pro
         if processed is None:
         if processed is None:
             processed = process_images(p)
             processed = process_images(p)
 
 
+    p.close()
+
     shared.total_tqdm.clear()
     shared.total_tqdm.clear()
 
 
     generation_info_js = processed.js()
     generation_info_js = processed.js()

+ 4 - 3
modules/processing.py

@@ -202,6 +202,10 @@ class StableDiffusionProcessing():
     def sample(self, conditioning, unconditional_conditioning, seeds, subseeds, subseed_strength):
     def sample(self, conditioning, unconditional_conditioning, seeds, subseeds, subseed_strength):
         raise NotImplementedError()
         raise NotImplementedError()
 
 
+    def close(self):
+        self.sd_model = None
+        self.sampler = None
+
 
 
 class Processed:
 class Processed:
     def __init__(self, p: StableDiffusionProcessing, images_list, seed=-1, info="", subseed=None, all_prompts=None, all_seeds=None, all_subseeds=None, index_of_first_image=0, infotexts=None):
     def __init__(self, p: StableDiffusionProcessing, images_list, seed=-1, info="", subseed=None, all_prompts=None, all_seeds=None, all_subseeds=None, index_of_first_image=0, infotexts=None):
@@ -597,9 +601,6 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed:
     if p.scripts is not None:
     if p.scripts is not None:
         p.scripts.postprocess(p, res)
         p.scripts.postprocess(p, res)
 
 
-    p.sd_model = None
-    p.sampler = None
-
     return res
     return res
 
 
 
 

+ 2 - 0
modules/txt2img.py

@@ -47,6 +47,8 @@ def txt2img(prompt: str, negative_prompt: str, prompt_style: str, prompt_style2:
     if processed is None:
     if processed is None:
         processed = process_images(p)
         processed = process_images(p)
 
 
+    p.close()
+
     shared.total_tqdm.clear()
     shared.total_tqdm.clear()
 
 
     generation_info_js = processed.js()
     generation_info_js = processed.js()