-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Some num_inference_steps values seem to be "problematic" and throw an IndexError.
Also the iteration status output does not end on that value in any relation. If it's on purpose, it's still confusing:
num_inference_steps: 5
6it [00:49, 8.27s/it]
num_inference_steps: 6
8it [01:02, 7.87s/it]
num_inference_steps: 7
9it [01:10, 7.88s/it]
num_inference_steps: 8
9it [01:13, 8.19s/it]
Reproduction
from diffusers import StableDiffusionPipeline
TOKEN = "(censored)"
MODEL_ID = "CompVis/stable-diffusion-v1-4"
pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, use_auth_token=TOKEN)
res = pipe("a photo of an astronaut riding a horse on mars", num_inference_steps=3, guidance_scale=7.5)
Tested on command line too. Unrelated to PyCharm environment.
Logs
/usr/bin/python3 /home/as/.config/JetBrains/PyCharm2022.2/scratches/scratch.py
0it [00:07, ?it/s]
Traceback (most recent call last):
File "/home/as/.config/JetBrains/PyCharm2022.2/scratches/scratch.py", line 7, in <module>
res = pipe("a photo of an astronaut riding a horse on mars", num_inference_steps=3, guidance_scale=7.5)
File "/home/as/.local/lib/python3.10/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py", line 148, in __call__
latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs)["prev_sample"]
File "/usr/lib/python3.10/site-packages/diffusers/schedulers/scheduling_pndm.py", line 136, in step
return self.step_plms(model_output=model_output, timestep=timestep, sample=sample)
File "/usr/lib/python3.10/site-packages/diffusers/schedulers/scheduling_pndm.py", line 212, in step_plms
prev_sample = self._get_prev_sample(sample, timestep, prev_timestep, model_output)
File "/usr/lib/python3.10/site-packages/diffusers/schedulers/scheduling_pndm.py", line 230, in _get_prev_sample
alpha_prod_t = self.alphas_cumprod[timestep + 1 - self._offset]
IndexError: index 1000 is out of bounds for dimension 0 with size 1000System Info
diffusersversion: 0.4.0.dev0- Platform: Linux-5.19.7-arch1-1-x86_64-with-glibc2.36
- Python version: 3.10.6
- PyTorch version (GPU?): 1.12.1+cu102 (True)
- Huggingface_hub version: 0.9.1
- Transformers version: 4.21.3
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: No
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working