From 863e9efc19d2811f1db5055be8e346781df3f7ce Mon Sep 17 00:00:00 2001 From: Zeithrold <41533799+zeithrold@users.noreply.github.com> Date: Sun, 16 Oct 2022 15:13:18 +0800 Subject: Pull out some of URL to Env Variable (#2578) * moved repository url to changeable environment variable * move stable diffusion repo itself to env * added missing env * Remove default URL Co-authored-by: AUTOMATIC1111 <16777216c@gmail.com> --- webui-user.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'webui-user.sh') diff --git a/webui-user.sh b/webui-user.sh index 30646f5c..96293d43 100644 --- a/webui-user.sh +++ b/webui-user.sh @@ -12,6 +12,8 @@ # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" export COMMANDLINE_ARGS="" +#export STABLE_DIFFUSION_WEBUI_REPO="https://github.com/AUTOMATIC1111/stable-diffusion-webui.git" + # python3 executable #python_cmd="python3" @@ -30,13 +32,29 @@ export COMMANDLINE_ARGS="" # Requirements file to use for stable-diffusion-webui #export REQS_FILE="requirements_versions.txt" -# Fixed git repos +# Fixed git-based pip packages +# Example: "git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379" #export K_DIFFUSION_PACKAGE="" + #export GFPGAN_PACKAGE="" +#export DEEPDANBOORU_PACKAGE="" +#export CLIP_PACKAGE="" + +#export XFORMERS_WINDOWS_PACKAGE="" + +# Fixed git repos +# Example: "https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/c/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl" +#export STABLE_DIFFUSION_REPO="" +#export TAMING_REANSFORMERS_REPO="" +#export K_DIFFUSION_REPO="" +#export CODEFORMET_REPO="" +#export BLIP_REPO="" # Fixed git commits +# Example: "69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc" #export STABLE_DIFFUSION_COMMIT_HASH="" #export TAMING_TRANSFORMERS_COMMIT_HASH="" +#export K_DIFFUSION_COMMIT_HASH="" #export CODEFORMER_COMMIT_HASH="" #export BLIP_COMMIT_HASH="" -- cgit v1.2.3 From bd4f0fb9d9df72899c2c3a1c2bc3580bf26bb685 Mon Sep 17 00:00:00 2001 From: AUTOMATIC <16777216c@gmail.com> Date: Sun, 16 Oct 2022 10:14:27 +0300 Subject: revert changes to two bat files I asked to revert but the author couldn't in 863e9efc19d2811f1db5055be8e346781df3f7ce. --- webui-user.sh | 20 +------------------- webui.sh | 7 +------ 2 files changed, 2 insertions(+), 25 deletions(-) (limited to 'webui-user.sh') diff --git a/webui-user.sh b/webui-user.sh index 96293d43..30646f5c 100644 --- a/webui-user.sh +++ b/webui-user.sh @@ -12,8 +12,6 @@ # Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention" export COMMANDLINE_ARGS="" -#export STABLE_DIFFUSION_WEBUI_REPO="https://github.com/AUTOMATIC1111/stable-diffusion-webui.git" - # python3 executable #python_cmd="python3" @@ -32,29 +30,13 @@ export COMMANDLINE_ARGS="" # Requirements file to use for stable-diffusion-webui #export REQS_FILE="requirements_versions.txt" -# Fixed git-based pip packages -# Example: "git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379" +# Fixed git repos #export K_DIFFUSION_PACKAGE="" - #export GFPGAN_PACKAGE="" -#export DEEPDANBOORU_PACKAGE="" -#export CLIP_PACKAGE="" - -#export XFORMERS_WINDOWS_PACKAGE="" - -# Fixed git repos -# Example: "https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/c/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl" -#export STABLE_DIFFUSION_REPO="" -#export TAMING_REANSFORMERS_REPO="" -#export K_DIFFUSION_REPO="" -#export CODEFORMET_REPO="" -#export BLIP_REPO="" # Fixed git commits -# Example: "69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc" #export STABLE_DIFFUSION_COMMIT_HASH="" #export TAMING_TRANSFORMERS_COMMIT_HASH="" -#export K_DIFFUSION_COMMIT_HASH="" #export CODEFORMER_COMMIT_HASH="" #export BLIP_COMMIT_HASH="" diff --git a/webui.sh b/webui.sh index 88a78459..980c0aaf 100755 --- a/webui.sh +++ b/webui.sh @@ -41,11 +41,6 @@ then venv_dir="venv" fi -if [[ -z "${STABLE_DIFFUSION_WEBUI_REPO}" ]] -then - STABLE_DIFFUSION_WEBUI_REPO="https://github.com/AUTOMATIC1111/stable-diffusion-webui.git" -fi - if [[ -z "${LAUNCH_SCRIPT}" ]] then LAUNCH_SCRIPT="launch.py" @@ -116,7 +111,7 @@ then cd "${clone_dir}"/ || { printf "\e[1m\e[31mERROR: Can't cd to %s/%s/, aborting...\e[0m" "${install_dir}" "${clone_dir}"; exit 1; } "${GIT}" pull else - "${GIT}" clone "${STABLE_DIFFUSION_WEBUI_REPO}" "${clone_dir}" + "${GIT}" clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}" cd "${clone_dir}"/ || { printf "\e[1m\e[31mERROR: Can't cd to %s/%s/, aborting...\e[0m" "${install_dir}" "${clone_dir}"; exit 1; } fi -- cgit v1.2.3 From 0a54bd3395e30bf7772ad6f11d69c5c437a1ab73 Mon Sep 17 00:00:00 2001 From: d8ahazard Date: Wed, 9 Nov 2022 11:15:17 -0600 Subject: Optional Accelerate Launch --- requirements.txt | 1 + requirements_versions.txt | 1 + webui-user.bat | 1 + webui-user.sh | 3 +++ webui.bat | 13 +++++++++++++ webui.sh | 16 ++++++++++++---- 6 files changed, 31 insertions(+), 4 deletions(-) (limited to 'webui-user.sh') diff --git a/requirements.txt b/requirements.txt index 0fba0b23..762db4f3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +accelerate basicsr diffusers fairscale==0.4.4 diff --git a/requirements_versions.txt b/requirements_versions.txt index f7059f20..662ca684 100644 --- a/requirements_versions.txt +++ b/requirements_versions.txt @@ -1,5 +1,6 @@ transformers==4.19.2 diffusers==0.3.0 +accelerate==0.12.0 basicsr==1.4.2 gfpgan==1.3.8 gradio==3.9 diff --git a/webui-user.bat b/webui-user.bat index e5a257be..0c120111 100644 --- a/webui-user.bat +++ b/webui-user.bat @@ -4,5 +4,6 @@ set PYTHON= set GIT= set VENV_DIR= set COMMANDLINE_ARGS= +set ACCELERATE= call webui.bat diff --git a/webui-user.sh b/webui-user.sh index 30646f5c..16e42759 100644 --- a/webui-user.sh +++ b/webui-user.sh @@ -40,4 +40,7 @@ export COMMANDLINE_ARGS="" #export CODEFORMER_COMMIT_HASH="" #export BLIP_COMMIT_HASH="" +# Uncomment to enable accelerated launch +#export ACCELERATE="True" + ########################################### diff --git a/webui.bat b/webui.bat index a38a28bb..2a066d60 100644 --- a/webui.bat +++ b/webui.bat @@ -28,15 +28,28 @@ goto :show_stdout_stderr :activate_venv set PYTHON="%~dp0%VENV_DIR%\Scripts\Python.exe" echo venv %PYTHON% +if [%ACCELERATE%] == ["True"] goto :accelerate goto :launch :skip_venv +:accelerate +echo "Checking for accelerate" +dir %VENV_DIR%\Scripts\accelerate.exe >tmp/stdout.txt 2>tmp/stderr.txt +if %ERRORLEVEL% == 0 goto :accelerate_launch + :launch %PYTHON% launch.py %* pause exit /b +:accelerate_launch +echo "Accelerating2" +set ACCELERATE="%~dp0%VENV_DIR%\Scripts\accelerate.exe" +%ACCELERATE% launch --num_cpu_threads_per_process=6 launch.py +pause +exit /b + :show_stdout_stderr echo. diff --git a/webui.sh b/webui.sh index cc06f344..d89b344b 100755 --- a/webui.sh +++ b/webui.sh @@ -134,7 +134,15 @@ else exit 1 fi -printf "\n%s\n" "${delimiter}" -printf "Launching launch.py..." -printf "\n%s\n" "${delimiter}" -"${python_cmd}" "${LAUNCH_SCRIPT}" "$@" +if [[ ! -z "${ACCELERATE}" ]] && [ ${ACCELERATE}="True" ] && [ -x "$(command -v accelerate)" ] +then + printf "\n%s\n" "${delimiter}" + printf "Accelerating launch.py..." + printf "\n%s\n" "${delimiter}" + accelerate launch --num_cpu_threads_per_process=6 "${LAUNCH_SCRIPT}" "$@" +else + printf "\n%s\n" "${delimiter}" + printf "Launching launch.py..." + printf "\n%s\n" "${delimiter}" + "${python_cmd}" "${LAUNCH_SCRIPT}" "$@" +fi -- cgit v1.2.3 From 79953e9b8b0d04868b719452a5b250c450f757b6 Mon Sep 17 00:00:00 2001 From: brkirch Date: Thu, 1 Dec 2022 03:38:13 -0500 Subject: Add support for macOS (Darwin) in launch.py --- launch.py | 19 ++++++++++++++++++- webui-user.sh | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) (limited to 'webui-user.sh') diff --git a/launch.py b/launch.py index ad9ddd5a..48314264 100644 --- a/launch.py +++ b/launch.py @@ -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" -- cgit v1.2.3