haofanwang/ControlNet-for-Diffusers

Crashed running on m1 Mac

wohaoshuai opened this issue · 1 comments

Is it possible to run control net on Mac? Thanks!

Got the fellowing error:

output = pipe(

File "/Users/kelong/Library/Python/3.9/lib/python/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/Users/kelong/Library/Python/3.9/lib/python/site-packages/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_controlnet.py", line 779, in call
latents = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs).prev_sample
File "/Users/kelong/Library/Python/3.9/lib/python/site-packages/diffusers/schedulers/scheduling_unipc_multistep.py", line 528, in step
sample = self.multistep_uni_c_bh_update(
File "/Users/kelong/Library/Python/3.9/lib/python/site-packages/diffusers/schedulers/scheduling_unipc_multistep.py", line 465, in multistep_uni_c_bh_update
rhos_c = torch.linalg.solve(R, b)
NotImplementedError: The operator 'aten::_linalg_solve_ex.result' is not currently implemented for the MPS device. If you want this op to be added in priority during the prototype phase of this feature, please comment on pytorch/pytorch#77764. As a temporary fix, you can set the environment variable PYTORCH_ENABLE_MPS_FALLBACK=1 to use the CPU as a fallback for this op. WARNING: this will be slower than running natively on MPS.

PYTORCH_ENABLE_MPS_FALLBACK=1 works for now. : )