mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-06-07 21:20:49 +00:00
Turn the loopback denoise strength change factor into a parameter rather than hardcoding to 0.95. Set the default to 1.
This commit is contained in:
parent
61785cef65
commit
ed01f69542
@ -11,7 +11,7 @@ from modules.ui import plaintext_to_html
|
|||||||
import modules.images as images
|
import modules.images as images
|
||||||
import modules.scripts
|
import modules.scripts
|
||||||
|
|
||||||
def img2img(prompt: str, init_img, init_img_with_mask, steps: int, sampler_index: int, mask_blur: int, inpainting_fill: int, restore_faces: bool, tiling: bool, mode: int, n_iter: int, batch_size: int, cfg_scale: float, denoising_strength: float, seed: int, height: int, width: int, resize_mode: int, upscaler_index: str, upscale_overlap: int, inpaint_full_res: bool, inpainting_mask_invert: int, *args):
|
def img2img(prompt: str, init_img, init_img_with_mask, steps: int, sampler_index: int, mask_blur: int, inpainting_fill: int, restore_faces: bool, tiling: bool, mode: int, n_iter: int, batch_size: int, cfg_scale: float, denoising_strength: float, denoising_strength_change_factor: float, seed: int, height: int, width: int, resize_mode: int, upscaler_index: str, upscale_overlap: int, inpaint_full_res: bool, inpainting_mask_invert: int, *args):
|
||||||
is_inpaint = mode == 1
|
is_inpaint = mode == 1
|
||||||
is_loopback = mode == 2
|
is_loopback = mode == 2
|
||||||
is_upscale = mode == 3
|
is_upscale = mode == 3
|
||||||
@ -50,7 +50,10 @@ def img2img(prompt: str, init_img, init_img_with_mask, steps: int, sampler_index
|
|||||||
denoising_strength=denoising_strength,
|
denoising_strength=denoising_strength,
|
||||||
inpaint_full_res=inpaint_full_res,
|
inpaint_full_res=inpaint_full_res,
|
||||||
inpainting_mask_invert=inpainting_mask_invert,
|
inpainting_mask_invert=inpainting_mask_invert,
|
||||||
extra_generation_params={"Denoising Strength": denoising_strength}
|
extra_generation_params={
|
||||||
|
"Denoising strength": denoising_strength,
|
||||||
|
"Denoising strength change factor": denoising_strength_change_factor
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
if is_loopback:
|
if is_loopback:
|
||||||
@ -99,7 +102,7 @@ def img2img(prompt: str, init_img, init_img_with_mask, steps: int, sampler_index
|
|||||||
|
|
||||||
p.init_images = [init_img]
|
p.init_images = [init_img]
|
||||||
p.seed = processed.seed + 1
|
p.seed = processed.seed + 1
|
||||||
p.denoising_strength = max(p.denoising_strength * 0.95, 0.1)
|
p.denoising_strength = min(max(p.denoising_strength * denoising_strength_change_factor, 0.1), 1)
|
||||||
history.append(processed.images[0])
|
history.append(processed.images[0])
|
||||||
|
|
||||||
grid = images.image_grid(history, batch_size, rows=1)
|
grid = images.image_grid(history, batch_size, rows=1)
|
||||||
|
@ -349,7 +349,8 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
|
|||||||
|
|
||||||
with gr.Group():
|
with gr.Group():
|
||||||
cfg_scale = gr.Slider(minimum=1.0, maximum=15.0, step=0.5, label='CFG Scale', value=7.0)
|
cfg_scale = gr.Slider(minimum=1.0, maximum=15.0, step=0.5, label='CFG Scale', value=7.0)
|
||||||
denoising_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Denoising Strength', value=0.75)
|
denoising_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, label='Denoising strength', value=0.75)
|
||||||
|
denoising_strength_change_factor = gr.Slider(minimum=0.9, maximum=1.1, step=0.01, label='Denoising strength change factor', value=1, visible=False)
|
||||||
|
|
||||||
with gr.Group():
|
with gr.Group():
|
||||||
height = gr.Slider(minimum=64, maximum=2048, step=64, label="Height", value=512)
|
height = gr.Slider(minimum=64, maximum=2048, step=64, label="Height", value=512)
|
||||||
@ -396,6 +397,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
|
|||||||
sd_upscale_overlap: gr_show(is_upscale),
|
sd_upscale_overlap: gr_show(is_upscale),
|
||||||
inpaint_full_res: gr_show(is_inpaint),
|
inpaint_full_res: gr_show(is_inpaint),
|
||||||
inpainting_mask_invert: gr_show(is_inpaint),
|
inpainting_mask_invert: gr_show(is_inpaint),
|
||||||
|
denoising_strength_change_factor: gr_show(is_loopback),
|
||||||
}
|
}
|
||||||
|
|
||||||
switch_mode.change(
|
switch_mode.change(
|
||||||
@ -412,6 +414,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
|
|||||||
sd_upscale_overlap,
|
sd_upscale_overlap,
|
||||||
inpaint_full_res,
|
inpaint_full_res,
|
||||||
inpainting_mask_invert,
|
inpainting_mask_invert,
|
||||||
|
denoising_strength_change_factor,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -433,6 +436,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
|
|||||||
batch_size,
|
batch_size,
|
||||||
cfg_scale,
|
cfg_scale,
|
||||||
denoising_strength,
|
denoising_strength,
|
||||||
|
denoising_strength_change_factor,
|
||||||
seed,
|
seed,
|
||||||
height,
|
height,
|
||||||
width,
|
width,
|
||||||
|
@ -26,7 +26,8 @@ titles = {
|
|||||||
"latent nothing": "fill it with latent space zeroes",
|
"latent nothing": "fill it with latent space zeroes",
|
||||||
"Inpaint at full resolution": "Upscale masked region to target resolution, do inpainting, downscale back and paste into original image",
|
"Inpaint at full resolution": "Upscale masked region to target resolution, do inpainting, downscale back and paste into original image",
|
||||||
|
|
||||||
"Denoising Strength": "Determines how little respect the algorithm should have for image's content. At 0, nothing will change, and at 1 you'll get an unrelated image.",
|
"Denoising strength": "Determines how little respect the algorithm should have for image's content. At 0, nothing will change, and at 1 you'll get an unrelated image.",
|
||||||
|
"Denoising strength change factor": "In loopback mode, on each loop the denoising strength is multiplied by this value. <1 means decreasing variety so your sequence will converge on a fixed picture. >1 means increasing variety so your sequence will become more and more chaotic.",
|
||||||
|
|
||||||
"Interrupt": "Stop processing images and return any results accumulated so far.",
|
"Interrupt": "Stop processing images and return any results accumulated so far.",
|
||||||
"Save": "Write image to a directory (default - log/images) and generation parameters into csv file.",
|
"Save": "Write image to a directory (default - log/images) and generation parameters into csv file.",
|
||||||
|
Loading…
Reference in New Issue
Block a user