diff options
author | random_thoughtss <random_thoughtss@proton.me> | 2022-10-25 20:15:08 +0000 |
---|---|---|
committer | random_thoughtss <random_thoughtss@proton.me> | 2022-10-25 20:15:08 +0000 |
commit | 8b4f32779f28010fc8077e8fcfb85a3205b36bc2 (patch) | |
tree | 127e5c644ce9728e65b1b4300da07fcd79683b43 /modules | |
parent | 605d27687f433c0fefb9025aace7dc94f0ebd454 (diff) | |
download | stable-diffusion-webui-gfx803-8b4f32779f28010fc8077e8fcfb85a3205b36bc2.tar.gz stable-diffusion-webui-gfx803-8b4f32779f28010fc8077e8fcfb85a3205b36bc2.tar.bz2 stable-diffusion-webui-gfx803-8b4f32779f28010fc8077e8fcfb85a3205b36bc2.zip |
Switch to a continous blend for cond. image.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/processing.py | 9 | ||||
-rw-r--r-- | modules/shared.py | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/modules/processing.py b/modules/processing.py index 23ee5e02..02292bdc 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -769,9 +769,12 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing): # Create another latent image, this time with a masked version of the original input.
conditioning_mask = conditioning_mask.to(image.device)
- conditioning_image = image
- if getattr(self, "inpainting_mask_image", shared.opts.inpainting_mask_image):
- conditioning_image = conditioning_image * (1.0 - conditioning_mask)
+ # Smoothly interpolate between the masked and unmasked latent conditioning image.
+ conditioning_image = torch.lerp(
+ image,
+ image * (1.0 - conditioning_mask),
+ getattr(self, "inpainting_mask_weight", shared.opts.inpainting_mask_weight)
+ )
conditioning_image = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(conditioning_image))
diff --git a/modules/shared.py b/modules/shared.py index 1d0ff1a1..e0ffb824 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -320,7 +320,7 @@ options_templates.update(options_section(('sampler-params', "Sampler parameters" 's_tmin': OptionInfo(0.0, "sigma tmin", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01}),
's_noise': OptionInfo(1.0, "sigma noise", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01}),
'eta_noise_seed_delta': OptionInfo(0, "Eta noise seed delta", gr.Number, {"precision": 0}),
- "inpainting_mask_image": OptionInfo(True, "Mask original image for conditioning used by inpainting model."),
+ "inpainting_mask_weight": OptionInfo(1.0, "Blend betweeen an unmasked and masked conditioning image for inpainting models.", gr.Slider, {"minimum": 0.0, "maximum": 1.0, "step": 0.01}),
}))
|