diff options
author | brkirch <brkirch@users.noreply.github.com> | 2022-12-01 08:38:13 +0000 |
---|---|---|
committer | brkirch <brkirch@users.noreply.github.com> | 2022-12-01 09:49:46 +0000 |
commit | 79953e9b8b0d04868b719452a5b250c450f757b6 (patch) | |
tree | 87cd4da136f2f40e75766cfbaf07d99b3c36c314 | |
parent | 4b3c5bc24bffdf429c463a465763b3077fe55eb8 (diff) | |
download | stable-diffusion-webui-gfx803-79953e9b8b0d04868b719452a5b250c450f757b6.tar.gz stable-diffusion-webui-gfx803-79953e9b8b0d04868b719452a5b250c450f757b6.tar.bz2 stable-diffusion-webui-gfx803-79953e9b8b0d04868b719452a5b250c450f757b6.zip |
Add support for macOS (Darwin) in launch.py
-rw-r--r-- | launch.py | 19 | ||||
-rw-r--r-- | webui-user.sh | 2 |
2 files changed, 19 insertions, 2 deletions
@@ -193,6 +193,20 @@ def prepare_enviroment(): xformers = '--xformers' in sys.argv
ngrok = '--ngrok' in sys.argv
+ if platform.system() == 'Darwin':
+ os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
+ torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.12.1 torchvision==0.13.1")
+ k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'https://github.com/brkirch/k-diffusion.git')
+ k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "51c9778f269cedb55a4d88c79c0246d35bdadb71")
+ if os.environ.get('COMMANDLINE_ARGS') == None:
+ if '--use-cpu' in sys.argv:
+ idx = sys.argv.index('--use-cpu')
+ if idx < len(sys.argv) and sys.argv[idx+1][0] != '-':
+ sys.argv.insert(idx+1, 'interrogate')
+ else:
+ sys.argv += ['--use-cpu', 'interrogate']
+ sys.argv.append('--no-half')
+
try:
commit = run(f"{git} rev-parse HEAD").strip()
except Exception:
@@ -204,7 +218,7 @@ def prepare_enviroment(): if not is_installed("torch") or not is_installed("torchvision"):
run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch")
- if not skip_torch_cuda_test:
+ if not skip_torch_cuda_test and platform.system() != 'Darwin':
run_python("import torch; assert torch.cuda.is_available(), 'Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check'")
if not is_installed("gfpgan"):
@@ -231,6 +245,9 @@ def prepare_enviroment(): if not is_installed("pyngrok") and ngrok:
run_pip("install pyngrok", "ngrok")
+ if platform.system() == 'Darwin' and not is_installed("psutil"):
+ run_pip("install psutil", "psutil")
+
os.makedirs(dir_repos, exist_ok=True)
git_clone(stable_diffusion_repo, repo_dir('stable-diffusion-stability-ai'), "Stable Diffusion", stable_diffusion_commit_hash)
diff --git a/webui-user.sh b/webui-user.sh index 16e42759..bfa53cb7 100644 --- a/webui-user.sh +++ b/webui-user.sh @@ -10,7 +10,7 @@ #clone_dir="stable-diffusion-webui" # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" -export COMMANDLINE_ARGS="" +#export COMMANDLINE_ARGS="" # python3 executable #python_cmd="python3" |