modernui fix sampler advanced options

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2025-02-12 16:28:17 -05:00
parent 013aaec6c0
commit d9583df8de
6 changed files with 14 additions and 6 deletions
+4
View File
@@ -57,6 +57,9 @@
persist *models -> hugginface -> token*
persist *models -> civitai -> token*
- global switch to lancosz method for all interal resize ops and bicubic for interpolation ops
- **Text encoder**
add advanced per-model options for text encoder
set in *settings -> text encoder -> Optional*
- **Fixes**
- update torch nightly urls
- docs/wiki always use relative links
@@ -65,6 +68,7 @@
- ui log scroll to bottom
- ui fix send to inpaint/sketch
- modernui add control init image toggle
- modernui fix sampler advanced options
- outpaint fixes
- validate output before hires/refine
- scheduler fix sigma index out of bounds
+1 -1
View File
@@ -343,7 +343,7 @@ class ControlNetPipeline():
if len(controlnets) > 1:
# TODO controlnet-union multi-unit
log.warning(f'Control {what}: units={classes} supports single unit only')
controlnets = controlnets[0]
# controlnets = controlnets[0]
else:
cls = StableDiffusionXLControlNetPipeline
self.pipeline = cls(
+3 -2
View File
@@ -175,13 +175,14 @@ def set_pipeline_args(p, model, prompts:list, negative_prompts:list, prompts_2:t
else:
args['negative_prompt'] = negative_prompts
if 'complex_human_instruction' in possible:
chi = any(len(p) < 300 for p in prompts)
chi = shared.opts.te_complex_human_instruction
p.extra_generation_params["CHI"] = chi
if not chi:
args['complex_human_instruction'] = None
if 'use_resolution_binning' in possible:
args['use_resolution_binning'] = False
# p.extra_generation_params["Binning"] = True
if 'use_mask_in_transformer' in possible:
args['use_mask_in_transformer'] = shared.opts.te_use_mask
if prompt_parser_diffusers.embedder is not None and not prompt_parser_diffusers.embedder.scheduled_prompt: # not scheduled so we dont need it anymore
prompt_parser_diffusers.embedder = None
+1 -1
View File
@@ -534,7 +534,7 @@ def get_weighted_text_embeddings(pipe, prompt: str = "", neg_prompt: str = "", c
debug(f'Prompt: pooled={pooled_prompt_embeds[0].shape} time={(time.time() - t0):.3f}')
elif prompt_embeds[-1].shape[-1] > 768:
t0 = time.time()
if shared.opts.diffusers_pooled == "weighted":
if shared.opts.te_pooled_embeds:
pooled_prompt_embeds = embedding_providers[-1].text_encoder.text_projection(prompt_embeds[-1][
torch.arange(prompt_embeds[-1].shape[0], device=device),
(ptokens.to(dtype=torch.int, device=device) == 49407)
+4 -1
View File
@@ -517,7 +517,10 @@ options_templates.update(options_section(('text_encoder', "Text Encoder"), {
"comma_padding_backtrack": OptionInfo(20, "Prompt padding", gr.Slider, {"minimum": 0, "maximum": 74, "step": 1, "visible": not native }),
"sd_textencder_linebreak": OptionInfo(True, "Use line break as prompt segment marker", gr.Checkbox),
"diffusers_zeros_prompt_pad": OptionInfo(False, "Use zeros for prompt padding", gr.Checkbox),
"diffusers_pooled": OptionInfo("default", "Diffusers SDXL pooled embeds", gr.Radio, {"choices": ['default', 'weighted']}),
"te_optional_sep": OptionInfo("<h2>Optional</h2>", "", gr.HTML),
"te_pooled_embeds": OptionInfo(False, "SDXL: Use weighted pooled embeds"),
"te_complex_human_instruction": OptionInfo(True, "Sana: Use complex human instructions"),
"te_use_mask": OptionInfo(True, "Lumina: Use mask in transformers"),
}))
options_templates.update(options_section(('cuda', "Compute Settings"), {