aboutsummaryrefslogtreecommitdiffstats
path: root/webui.py
diff options
context:
space:
mode:
authorhlky <106811348+hlky@users.noreply.github.com>2022-08-24 13:12:33 +0000
committerhlky <106811348+hlky@users.noreply.github.com>2022-08-24 13:12:33 +0000
commitabb83239e5d708adf72fa457c3de81603e7281d3 (patch)
treea2822440250f25323cf4cea6867d6b5eec5a4de9 /webui.py
parent29d0d65504bca16e118a36ea355e7951ec12c11f (diff)
downloadstable-diffusion-webui-gfx803-abb83239e5d708adf72fa457c3de81603e7281d3.tar.gz
stable-diffusion-webui-gfx803-abb83239e5d708adf72fa457c3de81603e7281d3.tar.bz2
stable-diffusion-webui-gfx803-abb83239e5d708adf72fa457c3de81603e7281d3.zip
torch_gc/empty cache after generation
added torch_gc() which calls both cuda.empty_cache() and cuda.ipc_collect() called before and after generation
Diffstat (limited to 'webui.py')
-rw-r--r--webui.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/webui.py b/webui.py
index 6ba76407..7521b3ce 100644
--- a/webui.py
+++ b/webui.py
@@ -126,6 +126,9 @@ def create_random_tensors(shape, seeds):
x = torch.stack(xs)
return x
+def torch_gc():
+ torch.cuda.empty_cache()
+ torch.cuda.ipc_collect()
def load_GFPGAN():
model_name = 'GFPGANv1.3'
@@ -300,7 +303,7 @@ def process_images(outpath, func_init, func_sample, prompt, seed, sampler_name,
"""this is the main loop that both txt2img and img2img use; it calls func_init once inside all the scopes and func_sample once per batch"""
assert prompt is not None
- torch.cuda.empty_cache()
+ torch_gc()
if seed == -1:
seed = random.randrange(4294967294)
@@ -412,7 +415,7 @@ Steps: {steps}, Sampler: {sampler_name}, CFG scale: {cfg_scale}, Seed: {seed}{',
for comment in comments:
info += "\n\n" + comment
-
+ torch_gc()
return output_images, seed, info