diff options
author | Jairo Correa <jn.j41r0@gmail.com> | 2022-09-29 01:14:13 +0000 |
---|---|---|
committer | Jairo Correa <jn.j41r0@gmail.com> | 2022-09-29 01:14:13 +0000 |
commit | c938679de7b87b4f14894d9f57fe0f40dd6e3c06 (patch) | |
tree | 31119c9dc5d04648bf873069c690b4fd53dc3805 /modules/codeformer_model.py | |
parent | 041d2aefc082c2883aa7e28ee3e4a990b3be9758 (diff) | |
download | stable-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.py | 6 |
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
|