diff options
author | papuSpartan <macabeg@icloud.com> | 2023-04-02 03:18:35 +0000 |
---|---|---|
committer | papuSpartan <macabeg@icloud.com> | 2023-04-02 03:18:35 +0000 |
commit | a609bd56b4206460d1df3c3022025fc78b66718f (patch) | |
tree | a1bde1f16c5a0d1f91e87d25e347e34bf29358aa /modules/shared.py | |
parent | 8c88bf40060c86ba508646c6d7ddc21e389be846 (diff) | |
download | stable-diffusion-webui-gfx803-a609bd56b4206460d1df3c3022025fc78b66718f.tar.gz stable-diffusion-webui-gfx803-a609bd56b4206460d1df3c3022025fc78b66718f.tar.bz2 stable-diffusion-webui-gfx803-a609bd56b4206460d1df3c3022025fc78b66718f.zip |
Transition to using settings through UI instead of cmd line args. Added feature to only apply to hr-fix. Install package using requirements_versions.txt
Diffstat (limited to 'modules/shared.py')
-rw-r--r-- | modules/shared.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/modules/shared.py b/modules/shared.py index 5fd0eecb..d7379e24 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -427,6 +427,50 @@ options_templates.update(options_section((None, "Hidden options"), { "sd_checkpoint_hash": OptionInfo("", "SHA256 hash of the current checkpoint"),
}))
+options_templates.update(options_section(('token_merging', 'Token Merging'), {
+ "token_merging": OptionInfo(
+ False, "Enable redundant token merging via tomesd. (currently incompatible with controlnet extension)",
+ gr.Checkbox
+ ),
+ "token_merging_ratio": OptionInfo(
+ 0.5, "Merging Ratio",
+ gr.Slider, {"minimum": 0, "maximum": 0.9, "step": 0.1}
+ ),
+ "token_merging_hr_only": OptionInfo(
+ True, "Apply only to high-res fix pass. Disabling can yield a ~20-35% speedup on contemporary resolutions.",
+ gr.Checkbox
+ ),
+ # More advanced/niche settings:
+ "token_merging_random": OptionInfo(
+ True, "Use random perturbations - Disabling might help with certain samplers",
+ gr.Checkbox
+ ),
+ "token_merging_merge_attention": OptionInfo(
+ True, "Merge attention",
+ gr.Checkbox
+ ),
+ "token_merging_merge_cross_attention": OptionInfo(
+ False, "Merge cross attention",
+ gr.Checkbox
+ ),
+ "token_merging_merge_mlp": OptionInfo(
+ False, "Merge mlp",
+ gr.Checkbox
+ ),
+ "token_merging_maximum_down_sampling": OptionInfo(
+ 1, "Maximum down sampling",
+ gr.Dropdown, lambda: {"choices": ["1", "2", "4", "8"]}
+ ),
+ "token_merging_stride_x": OptionInfo(
+ 2, "Stride - X",
+ gr.Slider, {"minimum": 2, "maximum": 8, "step": 2}
+ ),
+ "token_merging_stride_y": OptionInfo(
+ 2, "Stride - Y",
+ gr.Slider, {"minimum": 2, "maximum": 8, "step": 2}
+ )
+}))
+
options_templates.update()
|