diff --git a/README.md b/README.md index a9526413e..08b960dae 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ The launcher can perform automatic update of main repository, requirements, exte Check is performed on each startup and missing requirements are auto-installed, can be skipped with `--skip-requirements` flag - Extensions and submodules: Update is performed on each startup and installer for each extension is started, can be skipped with `--skip-extensions` flag -- All checks can be skipped using `--quick` flag +- If timestamp of last sucessful setup is newer than actual repository version or version of newest extension, launcher will run in *quick* mode
diff --git a/TODO.md b/TODO.md index a27d7f200..323ace9ad 100644 --- a/TODO.md +++ b/TODO.md @@ -1,20 +1,19 @@ # TODO -## Always-on - -- Pick & merge PRs from main repo - -## Fixes +## Issues Stuff to be fixed... - Fix integration with +- Fix integration with - Reconnect UI to ops in progress on browser restart - Create new GitHub hooks/actions for CI/CD - Remove `models` from git repo ## Features +Stuff to be added... + - Redo Extensions tab: see - Stream-load models as option for slow storage - Replace **PngInfo** / **EXIF** metadata handler @@ -24,8 +23,52 @@ Stuff to be fixed... ## Investigate +Stuff to be investigated... + - Revisit `torch.compile` +## Merge PRs + +Pick & merge PRs from main repo... + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + +Complete: + +- + ## Integration Tech that can be integrated as part of the core workflow... diff --git a/extensions-builtin/sd-extension-system-info b/extensions-builtin/sd-extension-system-info index 142c1ed05..f7be53474 160000 --- a/extensions-builtin/sd-extension-system-info +++ b/extensions-builtin/sd-extension-system-info @@ -1 +1 @@ -Subproject commit 142c1ed05c11b3aeca35c40784b6da8613450f7b +Subproject commit f7be53474b01b8c7dace642179ae38b587a7ac2b diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index 80c7a6cc9..20a5310bc 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit 80c7a6cc9547bce3a0b5833c367b3b23a422abf3 +Subproject commit 20a5310bc80bff223c4ae9f2a78c7f73955ce11c diff --git a/modules/call_queue.py b/modules/call_queue.py index 9582585d9..13d5d76a3 100644 --- a/modules/call_queue.py +++ b/modules/call_queue.py @@ -1,3 +1,4 @@ +import sys import html import threading import time @@ -51,7 +52,8 @@ def wrap_gradio_call(func, extra_outputs=None, add_stats=False): if run_memmon: shared.mem_mon.monitor() t = time.perf_counter() - + if sys.modules['xformers'] is not None and shared.opts.cross_attention_optimization != "xFormers": + sys.modules["xformers"] = None try: if shared.cmd_opts.profile: pr = cProfile.Profile() diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py index 03313b793..0c78db413 100644 --- a/modules/sd_hijack.py +++ b/modules/sd_hijack.py @@ -1,3 +1,4 @@ +import sys from types import MethodType from rich import print # pylint: disable=redefined-builtin import torch diff --git a/setup.py b/setup.py index 514e9745c..c7a108de2 100644 --- a/setup.py +++ b/setup.py @@ -88,7 +88,7 @@ def installed(package, friendly: str = None): # install package using pip if not already installed -def install(package, friendly: str = None): +def install(package, friendly: str = None, ignore: bool = False): def pip(arg: str): log.debug(f"Running pip: {arg}") result = subprocess.run(f'"{sys.executable}" -m pip {arg}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -96,7 +96,7 @@ def install(package, friendly: str = None): if len(result.stderr) > 0: txt += ('\n' if len(txt) > 0 else '') + result.stderr.decode(encoding="utf8", errors="ignore") txt = txt.strip() - if result.returncode != 0: + if result.returncode != 0 and not ignore: global errors # pylint: disable=global-statement errors += 1 log.error(f'Error running pip with args: {arg}') @@ -201,9 +201,9 @@ def install_packages(): install(clip_package, 'clip') try: xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.17') - install(f'--no-deps {xformers_package}') + install(f'--no-deps {xformers_package}', ignore=True) except Exception as e: - log.error(f'Cannot install xformers package: {e}') + log.debug(f'Cannot install xformers package: {e}') # clone required repositories