diff options
author | discus0434 <discus0434@gmail.com> | 2022-10-22 11:14:46 +0000 |
---|---|---|
committer | discus0434 <discus0434@gmail.com> | 2022-10-22 11:14:46 +0000 |
commit | dcb45dfecfd0d7f2c268343d8a83fd33c276345b (patch) | |
tree | 001c8ebf9e0c7af692ae1237142206f568ff6903 /modules/lowvram.py | |
parent | 0e8ca8e7af05be22d7d2c07a47c3c7febe0f0ab6 (diff) | |
parent | 50b5504401e50b6c94eba41b37fe212b2f27b792 (diff) |
Merge branch 'master' of upstream
Diffstat (limited to 'modules/lowvram.py')
-rw-r--r-- | modules/lowvram.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/modules/lowvram.py b/modules/lowvram.py index 7eba1349..f327c3df 100644 --- a/modules/lowvram.py +++ b/modules/lowvram.py @@ -1,9 +1,8 @@ import torch
-from modules.devices import get_optimal_device
+from modules import devices
module_in_gpu = None
cpu = torch.device("cpu")
-device = gpu = get_optimal_device()
def send_everything_to_cpu():
@@ -33,7 +32,7 @@ def setup_for_low_vram(sd_model, use_medvram): if module_in_gpu is not None:
module_in_gpu.to(cpu)
- module.to(gpu)
+ module.to(devices.device)
module_in_gpu = module
# see below for register_forward_pre_hook;
@@ -51,7 +50,7 @@ def setup_for_low_vram(sd_model, use_medvram): # 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
sd_model.cond_stage_model.transformer, sd_model.first_stage_model, sd_model.model = None, None, None
- sd_model.to(device)
+ sd_model.to(devices.device)
sd_model.cond_stage_model.transformer, sd_model.first_stage_model, sd_model.model = stored
# register hooks for those the first two models
@@ -70,7 +69,7 @@ def setup_for_low_vram(sd_model, use_medvram): # so that only one of them is in GPU at a time
stored = diff_model.input_blocks, diff_model.middle_block, diff_model.output_blocks, diff_model.time_embed
diff_model.input_blocks, diff_model.middle_block, diff_model.output_blocks, diff_model.time_embed = None, None, None, None
- sd_model.model.to(device)
+ sd_model.model.to(devices.device)
diff_model.input_blocks, diff_model.middle_block, diff_model.output_blocks, diff_model.time_embed = stored
# install hooks for bits of third model
|