tl;dr: on line 300 of lib_layerdiffusion\modesl.py , median = torch.median(result, dim=0).values FAILS. DirectML doesn't know torch.median() . The solution is to cast the previous line .to("cpu") and the next line back .to(self.load_device)
So, lines 299, 300, 301 look like this:
result = torch.stack(result, dim=0).to("cpu")
median = torch.median(result, dim=0).values
return median.to(self.load_device)
What happened?
Everyone on Directml will fail to use this node encountering the tuple error.
Steps to reproduce the problem
Be me. Be everyone using DirectML. ??? Don't profit. Ever.
What should have happened?
~Alpha Translucentiation~
Commit where the problem happens
ComfyUI: ComfyUI-layerdiffuse:
Sysinfo
AMD, DirectML, Pain Incarnate.
Console logs
Workflow json file
-
Additional information
I had posted about this on forge's layerdiffuse and totally forgot, my bad. There I detail the exact cause of the problem and the workaround: https://github.com/layerdiffusion/sd-forge-layerdiffuse/issues/10#issue-2164698715
tl;dr: on line 300 of lib_layerdiffusion\modesl.py , median = torch.median(result, dim=0).values FAILS. DirectML doesn't know torch.median() . The solution is to cast the previous line .to("cpu") and the next line back .to(self.load_device)
So, lines 299, 300, 301 look like this: result = torch.stack(result, dim=0).to("cpu") median = torch.median(result, dim=0).values return median.to(self.load_device)