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)

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)

Thanks for the great implement of
StableDiffusionPanoramaPipeline.However, I found that
StableDiffusionPanoramaPipelinewill create corrupted images when using some specific schedulers.For example, if we use
DPMSolverMultistepScheduler, a corrupted image will be generated.But if we switch to
EulerDiscreteScheduler, it can create a normal panorama image like DDIM scheduler.