@@ -70,7 +71,7 @@ This page allows you to add some settings to the main interface of txt2img and i
...
@@ -70,7 +71,7 @@ This page allows you to add some settings to the main interface of txt2img and i
"""),
"""),
"extra_options_txt2img":shared.OptionInfo([],"Settings for txt2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in txt2img interfaces").needs_reload_ui(),
"extra_options_txt2img":shared.OptionInfo([],"Settings for txt2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in txt2img interfaces").needs_reload_ui(),
"extra_options_img2img":shared.OptionInfo([],"Settings for img2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in img2img interfaces").needs_reload_ui(),
"extra_options_img2img":shared.OptionInfo([],"Settings for img2img",ui_components.DropdownMulti,lambda:{"choices":list(shared.opts.data_labels.keys())}).js("info","settingsHintsShowQuicksettings").info("setting entries that also appear in img2img interfaces").needs_reload_ui(),
"extra_options_cols":shared.OptionInfo(1,"Number of columns for added settings",gr.Number,{"precision":0}).needs_reload_ui(),
"extra_options_cols":shared.OptionInfo(1,"Number of columns for added settings",gr.Slider,{"step":1,"minimum":1,"maximum":20}).info("displayed amount will depend on the actual browser window width").needs_reload_ui(),
"extra_options_accordion":shared.OptionInfo(False,"Place added settings into an accordion").needs_reload_ui()
"extra_options_accordion":shared.OptionInfo(False,"Place added settings into an accordion").needs_reload_ui()
@@ -56,6 +56,9 @@ class CFGDenoiser(torch.nn.Module):
...
@@ -56,6 +56,9 @@ class CFGDenoiser(torch.nn.Module):
self.sampler=sampler
self.sampler=sampler
self.model_wrap=None
self.model_wrap=None
self.p=None
self.p=None
# NOTE: masking before denoising can cause the original latents to be oversmoothed
# as the original latents do not have noise
self.mask_before_denoising=False
self.mask_before_denoising=False
@property
@property
...
@@ -105,8 +108,21 @@ class CFGDenoiser(torch.nn.Module):
...
@@ -105,8 +108,21 @@ class CFGDenoiser(torch.nn.Module):
assertnotis_edit_modelorall(len(conds)==1forcondsinconds_list),"AND is not supported for InstructPix2Pix checkpoint (unless using Image CFG scale = 1.0)"
assertnotis_edit_modelorall(len(conds)==1forcondsinconds_list),"AND is not supported for InstructPix2Pix checkpoint (unless using Image CFG scale = 1.0)"
# If we use masks, blending between the denoised and original latent images occurs here.
"keyedit_precision_extra":OptionInfo(0.05,"Precision for <extra networks:0.9> when editing the prompt with Ctrl+up/down",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"keyedit_precision_extra":OptionInfo(0.05,"Precision for <extra networks:0.9> when editing the prompt with Ctrl+up/down",gr.Slider,{"minimum":0.01,"maximum":0.2,"step":0.001}),
"keyedit_delimiters":OptionInfo(r".,\/!?%^*;:{}=`~() ","Word delimiters when editing the prompt with Ctrl+up/down"),
"keyedit_delimiters":OptionInfo(r".,\/!?%^*;:{}=`~() ","Word delimiters when editing the prompt with Ctrl+up/down"),
self.prompt=gr.Textbox(label="Prompt",elem_id=f"{self.id_part}_prompt",show_label=False,lines=3,placeholder="Prompt (press Ctrl+Enter or Alt+Enter to generate)",elem_classes=["prompt"])
self.prompt=gr.Textbox(label="Prompt",elem_id=f"{self.id_part}_prompt",show_label=False,lines=3,placeholder="Prompt\n(Press Ctrl+Enter to generate, Alt+Enter to skip, Esc to interrupt)",elem_classes=["prompt"])
self.negative_prompt=gr.Textbox(label="Negative prompt",elem_id=f"{self.id_part}_neg_prompt",show_label=False,lines=3,placeholder="Negative prompt (press Ctrl+Enter or Alt+Enter to generate)",elem_classes=["prompt"])
self.negative_prompt=gr.Textbox(label="Negative prompt",elem_id=f"{self.id_part}_neg_prompt",show_label=False,lines=3,placeholder="Negative prompt\n(Press Ctrl+Enter to generate, Alt+Enter to skip, Esc to interrupt)",elem_classes=["prompt"])