From 08f170f87a995ce0e8ac45d8e5fc884b3ce8bc43 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 13 Mar 2023 13:10:44 -0400 Subject: [PATCH] update unipc --- automatic.sh | 3 +++ cli/random/dynamotest.py | 6 ------ config.json | 2 +- extensions-builtin/sd-dynamic-thresholding | 2 +- extensions-builtin/sd-extension-steps-animation | 2 +- extensions-builtin/sd-extension-system-info | 2 +- extensions-builtin/sd-webui-controlnet | 2 +- modules/models/diffusion/uni_pc/uni_pc.py | 3 ++- ui-config.json | 2 +- webui.py | 5 ++++- 10 files changed, 15 insertions(+), 14 deletions(-) diff --git a/automatic.sh b/automatic.sh index 2636081b1..42f2f2793 100755 --- a/automatic.sh +++ b/automatic.sh @@ -1,12 +1,14 @@ #!/bin/env bash export TF_CPP_MIN_LOG_LEVEL=2 +export ACCELERATE="True" export FORCE_CUDA="1" export ATTN_PRECISION=fp16 export PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.9,max_split_size_mb:512 export CUDA_LAUNCH_BLOCKING=0 export CUDA_CACHE_DISABLE=0 export CUDA_AUTO_BOOST=1 +export CUDA_MODULE_LOADING="LAZY" export CUDA_DEVICE_DEFAULT_PERSISTING_L2_CACHE_PERCENTAGE_LIMIT=0 if [ "$PYTHON" == "" ]; then @@ -151,6 +153,7 @@ if [ $MODE == optimized ]; then fi exec accelerate launch --no_python --quiet --num_cpu_threads_per_process=6 "$PYTHON" $CMD +# exec "$PYTHON" $CMD # export LD_PRELOAD=libtcmalloc.so # TORCH_CUDA_ARCH_LIST="8.6" diff --git a/cli/random/dynamotest.py b/cli/random/dynamotest.py index 188db3cd3..82b1143c6 100755 --- a/cli/random/dynamotest.py +++ b/cli/random/dynamotest.py @@ -94,10 +94,4 @@ Inference-only backends: dynamo.optimize("ofi") - Uses Torchscript optimize_for_inference dynamo.optimize("fx2trt") - Uses Nvidia TensorRT for inference optimizations dynamo.optimize("onnxrt") - Uses ONNXRT for inference on CPU/GPU -Results: - "default": 4.247040033340454, - "ofi": 3.820032000541687, - "aot_cudagraphs": 6.460927963256836, - "inductor": RuntimeError: CUDA: Error- no device - "fx2trt": ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory """ diff --git a/config.json b/config.json index d9a032be1..4ad0141a5 100644 --- a/config.json +++ b/config.json @@ -132,7 +132,7 @@ "localization": "None", "lora_apply_to_outputs": false, "memmon_poll_rate": 1, - "multiple_tqdm": true, + "multiple_tqdm": false, "n_rows": -1, "no_dpmpp_sde_batch_determinism": false, "outdir_extras_samples": "outputs/extras", diff --git a/extensions-builtin/sd-dynamic-thresholding b/extensions-builtin/sd-dynamic-thresholding index aff170940..cd91764a4 160000 --- a/extensions-builtin/sd-dynamic-thresholding +++ b/extensions-builtin/sd-dynamic-thresholding @@ -1 +1 @@ -Subproject commit aff1709402c727c1d0670a4f37430c4a15e02712 +Subproject commit cd91764a4575aeba42ec35a5c53450c9a9219608 diff --git a/extensions-builtin/sd-extension-steps-animation b/extensions-builtin/sd-extension-steps-animation index ee270d3e6..9a40ea6ae 160000 --- a/extensions-builtin/sd-extension-steps-animation +++ b/extensions-builtin/sd-extension-steps-animation @@ -1 +1 @@ -Subproject commit ee270d3e69c4c7d46bb7e1edd7a537e7efd76b35 +Subproject commit 9a40ea6ae2368d657274829a00d99170624889a7 diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info index ea624675c..2fce25755 160000 --- a/extensions-builtin/sd-extension-system-info +++ b/extensions-builtin/sd-extension-system-info @@ -1 +1 @@ -Subproject commit ea624675cf3ef75c7e39cd4ac456e1910336ff85 +Subproject commit 2fce2575584a7b92459a9a2e0cc2ab8e1fc6a5a1 diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index c9340671d..6a5580ca7 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit c9340671d6d59e5a79fc404f78f747f969f87374 +Subproject commit 6a5580ca7c144e04220d1e12c1e0cc92eca8bccb diff --git a/modules/models/diffusion/uni_pc/uni_pc.py b/modules/models/diffusion/uni_pc/uni_pc.py index d9c7cf28b..f6775c3b2 100644 --- a/modules/models/diffusion/uni_pc/uni_pc.py +++ b/modules/models/diffusion/uni_pc/uni_pc.py @@ -1,6 +1,7 @@ import torch import torch.nn.functional as F import math +from tqdm.auto import trange class NoiseScheduleVP: @@ -766,7 +767,7 @@ class UniPC: self.after_update(x, model_x) model_prev_list.append(model_x) t_prev_list.append(vec_t) - for step in range(order, steps + 1): + for step in trange(order, steps + 1): vec_t = timesteps[step].expand(x.shape[0]) if lower_order_final: step_order = min(order, steps + 1 - step) diff --git a/ui-config.json b/ui-config.json index 7e5f7efa4..237d688d5 100644 --- a/ui-config.json +++ b/ui-config.json @@ -1032,7 +1032,7 @@ "customscript/save_steps_animation.py/img2img/Skip steps/maximum": 100, "customscript/save_steps_animation.py/img2img/Skip steps/minimum": 0, "customscript/save_steps_animation.py/img2img/Skip steps/step": 1, - "customscript/save_steps_animation.py/img2img/Skip steps/value": 5, + "customscript/save_steps_animation.py/img2img/Skip steps/value": 0, "customscript/save_steps_animation.py/img2img/Skip steps/visible": true, "customscript/save_steps_animation.py/txt2img/Codec/value": "x264", "customscript/save_steps_animation.py/txt2img/Codec/visible": true, diff --git a/webui.py b/webui.py index e3c9cd7c5..936554e26 100644 --- a/webui.py +++ b/webui.py @@ -289,7 +289,10 @@ def webui(): print(f"Startup time: {startup_timer.summary()}.") - wait_on_server(shared.demo) + try: + wait_on_server(shared.demo) + except KeyboardInterrupt as e: + pass print('Restarting UI...') startup_timer.reset()