PLMS edge-case handling fix 2

This commit is contained in:
invincibledude 2023-01-22 00:07:46 +03:00
parent 9e1f49c4e5
commit 3ffe2e768b

View File

@ -710,7 +710,7 @@ def old_hires_fix_first_pass_dimensions(width, height):
class StableDiffusionProcessingTxt2Img(StableDiffusionProcessing):
sampler = None
def __init__(self, enable_hr: bool = False, denoising_strength: float = 0.75, firstphase_width: int = 0, firstphase_height: int = 0, hr_scale: float = 2.0, hr_upscaler: str = None, hr_second_pass_steps: int = 0, hr_resize_x: int = 0, hr_resize_y: int = 0, hr_sampler: int = 0, **kwargs):
def __init__(self, enable_hr: bool = False, denoising_strength: float = 0.75, firstphase_width: int = 0, firstphase_height: int = 0, hr_scale: float = 2.0, hr_upscaler: str = None, hr_second_pass_steps: int = 0, hr_resize_x: int = 0, hr_resize_y: int = 0, hr_sampler: int | str = 0, **kwargs):
super().__init__(**kwargs)
self.enable_hr = enable_hr
self.denoising_strength = denoising_strength
@ -864,7 +864,11 @@ class StableDiffusionProcessingTxt2Img(StableDiffusionProcessing):
img2img_sampler_name = self.sampler_name if self.sampler_name != 'PLMS' else 'DDIM' # PLMS does not support img2img so we just silently switch ot DDIM
if self.hr_sampler != 0 and sd_samplers.samplers[self.hr_sampler].name != 'PLMS':
if self.hr_sampler == 0:
pass
elif self.hr_sampler == 'PLMS':
img2img_sampler_name = 'DDIM'
else:
img2img_sampler_name = self.hr_sampler
self.sampler = sd_samplers.create_sampler(img2img_sampler_name, self.sd_model)