diff options
author | papuSpartan <30642826+papuSpartan@users.noreply.github.com> | 2022-12-10 08:02:39 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-10 08:02:39 +0000 |
commit | 6387043fd2c3311d66690ff27d7da0e030b29cd8 (patch) | |
tree | 075559ce3e52511cdd459da2b4cc33360d6eb258 /modules/lowvram.py | |
parent | 00ebc26c4e2962a31e067539d89cd695d999539a (diff) | |
parent | 1d01404c5615debfca24f7fbe429ddd2f5b11eb9 (diff) | |
download | stable-diffusion-webui-gfx803-6387043fd2c3311d66690ff27d7da0e030b29cd8.tar.gz stable-diffusion-webui-gfx803-6387043fd2c3311d66690ff27d7da0e030b29cd8.tar.bz2 stable-diffusion-webui-gfx803-6387043fd2c3311d66690ff27d7da0e030b29cd8.zip |
Merge branch 'AUTOMATIC1111:master' into master
Diffstat (limited to 'modules/lowvram.py')
-rw-r--r-- | modules/lowvram.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/lowvram.py b/modules/lowvram.py index a4652cb1..aa464a95 100644 --- a/modules/lowvram.py +++ b/modules/lowvram.py @@ -51,6 +51,10 @@ def setup_for_low_vram(sd_model, use_medvram): send_me_to_gpu(first_stage_model, None)
return first_stage_model_decode(z)
+ # for SD1, cond_stage_model is CLIP and its NN is in the tranformer frield, but for SD2, it's open clip, and it's in model field
+ if hasattr(sd_model.cond_stage_model, 'model'):
+ sd_model.cond_stage_model.transformer = sd_model.cond_stage_model.model
+
# remove three big modules, cond, first_stage, and unet from the model and then
# send the model to GPU. Then put modules back. the modules will be in CPU.
stored = sd_model.cond_stage_model.transformer, sd_model.first_stage_model, sd_model.model
@@ -65,6 +69,10 @@ def setup_for_low_vram(sd_model, use_medvram): sd_model.first_stage_model.decode = first_stage_model_decode_wrap
parents[sd_model.cond_stage_model.transformer] = sd_model.cond_stage_model
+ if hasattr(sd_model.cond_stage_model, 'model'):
+ sd_model.cond_stage_model.model = sd_model.cond_stage_model.transformer
+ del sd_model.cond_stage_model.transformer
+
if use_medvram:
sd_model.model.register_forward_pre_hook(send_me_to_gpu)
else:
|