Skip to content

Multidiffusion creates corrupted images with different schedulers #3494

Description

@Isotr0py

Thanks for the great implement of StableDiffusionPanoramaPipeline.
However, I found that StableDiffusionPanoramaPipeline will create corrupted images when using some specific schedulers.

For example, if we use DPMSolverMultistepScheduler, a corrupted image will be generated.

import torch
from diffusers import StableDiffusionPanoramaPipeline
from diffusers import DPMSolverMultistepScheduler

seed = 33
model_ckpt = "stabilityai/stable-diffusion-2-base"
prompt = "a photo of the dolomites"

pipe = StableDiffusionPanoramaPipeline.from_pretrained(model_ckpt, torch_dtype=torch.float16).to("cuda")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.to("cuda")
generator = torch.Generator(device="cuda").manual_seed(seed)
image = pipe(prompt, generator=generator, num_inference_steps=25,width=1024,height=512).images[0]
image.save("DPM++2M.png")
display(image)

DPM++_2M

But if we switch to EulerDiscreteScheduler, it can create a normal panorama image like DDIM scheduler.

import torch
from diffusers import StableDiffusionPanoramaPipeline
from diffusers import EulerDiscreteScheduler

seed = 33
model_ckpt = "stabilityai/stable-diffusion-2-base"
prompt = "a photo of the dolomites"

pipe = StableDiffusionPanoramaPipeline.from_pretrained(model_ckpt, torch_dtype=torch.float16).to("cuda")
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to("cuda")
generator = torch.Generator(device="cuda").manual_seed(seed)
image = pipe(prompt, generator=generator, num_inference_steps=25,width=1024,height=512).images[0]
image.save("Euler.png")
display(image)

Euler

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions