diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index a36fed906..28f1a553d 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -214,10 +214,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro p.mask = TF.to_pil_image(torch.ones_like(TF.to_tensor(p.init_images[0]))).convert("L") width = 8 * math.ceil(p.init_images[0].width / 8) height = 8 * math.ceil(p.init_images[0].height / 8) - # option-1: use images as inputs task_args = {"image": p.init_images, "mask_image": p.mask, "strength": p.denoising_strength, "height": height, "width": width} - """ # option-2: preprocess images into latents using diffusers vae_scale_factor = 2 ** (len(model.vae.config.block_out_channels) - 1) image_processor = diffusers.image_processor.VaeImageProcessor(vae_scale_factor=vae_scale_factor) @@ -226,7 +224,6 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro mask_image = mask_processor.preprocess(p.mask, width=width, height=height) task_args = {"image": p.init_images, "mask_image": p.mask, "strength": p.denoising_strength, "height": height, "width": width} """ - """ # option-2: manually assemble masked image latents masked_image_latents = [] mask_image = TF.to_tensor(p.mask) @@ -237,7 +234,6 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro masked_image_latents = torch.stack(masked_image_latents, dim=0).to(shared.device) task_args = {"image": p.init_images, "mask_image": mask_image, "masked_image_latents": masked_image_latents, "strength": p.denoising_strength, "height": height, "width": width} """ - if model.__class__.__name__ == 'LatentConsistencyModelPipeline' and hasattr(p, 'init_images') and len(p.init_images) > 0: init_latents = [vae_encode(image, model=shared.sd_model, full_quality=p.full_quality).squeeze(dim=0) for image in p.init_images] init_latent = torch.stack(init_latents, dim=0).to(shared.device) diff --git a/modules/sd_models.py b/modules/sd_models.py index 427a94d7d..dc74a17c1 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1010,10 +1010,6 @@ def set_diffuser_pipe(pipe, new_pipe_type): ) diffusers.pipelines.auto_pipeline.AUTO_TEXT2IMAGE_PIPELINES_MAPPING = AUTO_TEXT2IMAGE_PIPELINES_MAPPING """ - - if shared.opts.diffusers_force_inpaint: - if new_pipe_type == DiffusersTaskType.IMAGE_2_IMAGE: - new_pipe_type = DiffusersTaskType.INPAINTING # sdxl may work better with init mask try: if new_pipe_type == DiffusersTaskType.TEXT_2_IMAGE: new_pipe = diffusers.AutoPipelineForText2Image.from_pipe(pipe) diff --git a/modules/shared.py b/modules/shared.py index 04a03d9b4..176bd4690 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -368,7 +368,6 @@ options_templates.update(options_section(('diffusers', "Diffusers Settings"), { "diffusers_eval": OptionInfo(True, "Force model eval"), "diffusers_force_zeros": OptionInfo(True, "Force zeros for prompts when empty"), "diffusers_aesthetics_score": OptionInfo(False, "Require aesthetics score"), - "diffusers_force_inpaint": OptionInfo(False, 'Diffusers force inpaint pipeline'), "diffusers_pooled": OptionInfo("default", "Diffusers SDXL pooled embeds (experimental)", gr.Radio, {"choices": ['default', 'weighted']}), })) @@ -531,9 +530,9 @@ options_templates.update(options_section(('sampler-params', "Sampler Settings"), 'uni_pc_variant': OptionInfo("bh1", "UniPC variant", gr.Radio, {"choices": ["bh1", "bh2", "vary_coeff"]}), 'uni_pc_skip_type': OptionInfo("time_uniform", "UniPC skip type", gr.Radio, {"choices": ["time_uniform", "time_quadratic", "logSNR"]}), "ddim_discretize": OptionInfo('uniform', "DDIM discretize img2img", gr.Radio, {"choices": ['uniform', 'quad']}), - # TODO pad_cond_uncond implementation missing + # TODO pad_cond_uncond implementation missing for original backend "pad_cond_uncond": OptionInfo(True, "Pad prompt and negative prompt to be same length", gr.Checkbox, {"visible": False}), - # TODO batch_cond-uncond implementation missing + # TODO batch_cond-uncond implementation missing for original backend "batch_cond_uncond": OptionInfo(True, "Do conditional and unconditional denoising in one batch", gr.Checkbox, {"visible": False}), }))