aboutsummaryrefslogtreecommitdiffstats
path: root/modules/codeformer_model.py
diff options
context:
space:
mode:
authorJairo Correa <jn.j41r0@gmail.com>2022-09-29 01:14:13 +0000
committerJairo Correa <jn.j41r0@gmail.com>2022-09-29 01:14:13 +0000
commitc938679de7b87b4f14894d9f57fe0f40dd6e3c06 (patch)
tree31119c9dc5d04648bf873069c690b4fd53dc3805 /modules/codeformer_model.py
parent041d2aefc082c2883aa7e28ee3e4a990b3be9758 (diff)
downloadstable-diffusion-webui-gfx803-c938679de7b87b4f14894d9f57fe0f40dd6e3c06.tar.gz
stable-diffusion-webui-gfx803-c938679de7b87b4f14894d9f57fe0f40dd6e3c06.tar.bz2
stable-diffusion-webui-gfx803-c938679de7b87b4f14894d9f57fe0f40dd6e3c06.zip
Fix memory leak and reduce memory usage
Diffstat (limited to 'modules/codeformer_model.py')
-rw-r--r--modules/codeformer_model.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/codeformer_model.py b/modules/codeformer_model.py
index 8fbdea24..2177291a 100644
--- a/modules/codeformer_model.py
+++ b/modules/codeformer_model.py
@@ -89,7 +89,7 @@ def setup_codeformer():
output = self.net(cropped_face_t, w=w if w is not None else shared.opts.code_former_weight, adain=True)[0]
restored_face = tensor2img(output, rgb2bgr=True, min_max=(-1, 1))
del output
- torch.cuda.empty_cache()
+ devices.torch_gc()
except Exception as error:
print(f'\tFailed inference for CodeFormer: {error}', file=sys.stderr)
restored_face = tensor2img(cropped_face_t, rgb2bgr=True, min_max=(-1, 1))
@@ -106,7 +106,9 @@ def setup_codeformer():
restored_img = cv2.resize(restored_img, (0, 0), fx=original_resolution[1]/restored_img.shape[1], fy=original_resolution[0]/restored_img.shape[0], interpolation=cv2.INTER_LINEAR)
if shared.opts.face_restoration_unload:
- self.net.to(devices.cpu)
+ self.net = None
+ self.face_helper = None
+ devices.torch_gc()
return restored_img