|
|
|
@ -119,10 +119,6 @@ def get_total_memory(dev=None, torch_total_too=False):
|
|
|
|
|
total_vram = get_total_memory(get_torch_device()) / (1024 * 1024) |
|
|
|
|
total_ram = psutil.virtual_memory().total / (1024 * 1024) |
|
|
|
|
logging.info("Total VRAM {:0.0f} MB, total RAM {:0.0f} MB".format(total_vram, total_ram)) |
|
|
|
|
if not args.normalvram and not args.cpu: |
|
|
|
|
if lowvram_available and total_vram <= 4096: |
|
|
|
|
logging.warning("Trying to enable lowvram mode because your GPU seems to have 4GB or less. If you don't want this use: --normalvram") |
|
|
|
|
set_vram_to = VRAMState.LOW_VRAM |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
OOM_EXCEPTION = torch.cuda.OutOfMemoryError |
|
|
|
@ -451,9 +447,7 @@ def load_models_gpu(models, memory_required=0, force_patch_weights=False):
|
|
|
|
|
model_size = loaded_model.model_memory_required(torch_dev) |
|
|
|
|
current_free_mem = get_free_memory(torch_dev) |
|
|
|
|
lowvram_model_memory = int(max(64 * (1024 * 1024), (current_free_mem - 1024 * (1024 * 1024)) / 1.3 )) |
|
|
|
|
if model_size > (current_free_mem - inference_memory): #only switch to lowvram if really necessary |
|
|
|
|
vram_set_state = VRAMState.LOW_VRAM |
|
|
|
|
else: |
|
|
|
|
if model_size <= (current_free_mem - inference_memory): #only switch to lowvram if really necessary |
|
|
|
|
lowvram_model_memory = 0 |
|
|
|
|
|
|
|
|
|
if vram_set_state == VRAMState.NO_VRAM: |
|
|
|
|