diff options
author | AUTOMATIC <16777216c@gmail.com> | 2023-05-18 19:48:28 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2023-05-18 19:48:28 +0000 |
commit | 2582a0fd3b3e91c5fba9e5e561cbdf5fee835063 (patch) | |
tree | 656cfdfe0b8eb4ed40ce03581d4abc2d4af0e6dd /webui.py | |
parent | 2e006fa50046440c81e663d0e833a85b35258d41 (diff) | |
download | stable-diffusion-webui-gfx803-2582a0fd3b3e91c5fba9e5e561cbdf5fee835063.tar.gz stable-diffusion-webui-gfx803-2582a0fd3b3e91c5fba9e5e561cbdf5fee835063.tar.bz2 stable-diffusion-webui-gfx803-2582a0fd3b3e91c5fba9e5e561cbdf5fee835063.zip |
make it possible for scripts to add cross attention optimizations
add UI selection for cross attention optimization
Diffstat (limited to 'webui.py')
-rw-r--r-- | webui.py | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -52,6 +52,7 @@ import modules.img2img import modules.lowvram
import modules.scripts
import modules.sd_hijack
+import modules.sd_hijack_optimizations
import modules.sd_models
import modules.sd_vae
import modules.txt2img
@@ -200,6 +201,10 @@ def initialize(): modules.textual_inversion.textual_inversion.list_textual_inversion_templates()
startup_timer.record("refresh textual inversion templates")
+ modules.script_callbacks.on_list_optimizers(modules.sd_hijack_optimizations.list_optimizers)
+ modules.sd_hijack.list_optimizers()
+ startup_timer.record("scripts list_optimizers")
+
# load model in parallel to other startup stuff
Thread(target=lambda: shared.sd_model).start()
@@ -208,6 +213,7 @@ def initialize(): shared.opts.onchange("sd_vae_as_default", wrap_queued_call(lambda: modules.sd_vae.reload_vae_weights()), call=False)
shared.opts.onchange("temp_dir", ui_tempdir.on_tmpdir_changed)
shared.opts.onchange("gradio_theme", shared.reload_gradio_theme)
+ shared.opts.onchange("cross_attention_optimization", wrap_queued_call(lambda: modules.sd_hijack.model_hijack.redo_hijack(shared.sd_model)), call=False)
startup_timer.record("opts onchange")
shared.reload_hypernetworks()
@@ -428,6 +434,10 @@ def webui(): extra_networks.register_extra_network(extra_networks_hypernet.ExtraNetworkHypernet())
startup_timer.record("initialize extra networks")
+ modules.script_callbacks.on_list_optimizers(modules.sd_hijack_optimizations.list_optimizers)
+ modules.sd_hijack.list_optimizers()
+ startup_timer.record("scripts list_optimizers")
+
if __name__ == "__main__":
if cmd_opts.nowebui:
|