-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Description
Describe the bug
I've started noticing different outputs in the latest version of diffusers starting from diffusers 0.4.0
when compared against 0.3.0
. This is my test code (extracted from a notebook):
import diffusers
from diffusers import StableDiffusionPipeline, DDIMScheduler
import torch
from IPython.display import display
def run_tests(pipe):
torch.manual_seed(1000)
display(pipe("A photo of Barack Obama smiling with a big grin").images[0])
torch.manual_seed(1000)
display(pipe("Labrador in the style of Vermeer").images[0])
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
pipe = pipe.to("cuda")
run_tests(pipe)
The first prompt produces identical results. The second one, however, results in different outputs:
main@a3efa433eac5feba842350c38a1db29244963fb5
Using DDIM, both prompts generate different images.
scheduler = DDIMScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000)
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", scheduler=scheduler)
pipe = pipe.to("cuda")
run_tests(pipe)
In addition, there's this post from a forum user with very different results in the img2img pipeline: https://discuss.huggingface.co/t/notable-differences-between-other-implementations-of-stable-diffusion-particularly-in-the-img2img-pipeline/24635/5. They opened another issue recently #901. Cross-referencing, may or may not be related to this issue.
Reproduction
As explained above.
Logs
No response
System Info
diffusers: main
@ a3efa433eac5feba842350c38a1db29244963fb5
vs v0.3.0