-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When the device set to mps, str(device) can return "mps:0".
The proper way to test the device would be device.type == "mps".
The wrong test is used in EulerAncestralDiscreteScheduler preventing to run the right code:
device = model_output.device if torch.is_tensor(model_output) else "cpu"
if str(device) == "mps":
# randn does not work reproducibly on mps
noise = torch.randn(model_output.shape, dtype=model_output.dtype, device="cpu", generator=generator).to(
device
)
else:
noise = torch.randn(model_output.shape, dtype=model_output.dtype, device=device, generator=generator).to(
device
)
if str(device) == "mps" should be replaced by if device.type == "mps":
Reproduction
Run twice an inference with the same seed and the EulerAncestral scheduler doest generate the same image
Logs
No log as no errorSystem Info
diffusers 0.7.2, Mac OS ventura, M1 Max env with Python 3.9.2
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working