fix vram problems (#437)

This commit is contained in:
lllyasviel 2023-09-19 12:11:41 -07:00 committed by GitHub
parent 897a56024e
commit 32719e3ad1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 22 deletions

View File

@ -1 +1 @@
version = '2.0.65'
version = '2.0.66'

View File

@ -33,23 +33,6 @@ def prepare_environment():
if REINSTALL_ALL or not is_installed("torch") or not is_installed("torchvision"):
run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True)
import torch
def detect_gpu_type():
if torch.cuda.is_available():
gpu_name = torch.cuda.get_device_name(0)
if "NVIDIA" in gpu_name:
return "NVIDIA GPU"
elif "Radeon" in gpu_name:
return "AMD GPU"
else:
return "Unknown GPU Type"
else:
return "No GPU Available"
gpu_type = detect_gpu_type()
print("Detected GPU Type:", gpu_type)
if REINSTALL_ALL or not is_installed("xformers"):
if platform.system() == "Windows":
if platform.python_version().startswith("3.10"):
@ -60,7 +43,7 @@ def prepare_environment():
"You can also check this and build manually: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers#building-xformers-on-windows-by-duckness")
if not is_installed("xformers"):
exit(0)
elif platform.system() == "Linux" and gpu_type == 'NVIDIA GPU':
elif platform.system() == "Linux":
run_pip(f"install -U -I --no-deps {xformers_package}", "xformers")
if REINSTALL_ALL or not requirements_met(requirements_file):

View File

@ -91,9 +91,14 @@ def run(command, desc=None, errdesc=None, custom_env=None, live: bool = default_
def run_pip(command, desc=None, live=default_command_live):
index_url_line = f' --index-url {index_url}' if index_url != '' else ''
return run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}",
errdesc=f"Couldn't install {desc}", live=live)
try:
index_url_line = f' --index-url {index_url}' if index_url != '' else ''
return run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}",
errdesc=f"Couldn't install {desc}", live=live)
except Exception as e:
print(e)
print(f'CMD Failed {desc}: {command}')
return None
re_requirement = re.compile(r"\s*([-_a-zA-Z0-9]+)\s*(?:==\s*([-+_.a-zA-Z0-9]+))?\s*")