Open martintomov opened 7 months ago
Edit: Nevermind, I see you linked to a bug you filed over there.
Comfy probably can't do much about this.
Just FYI I'm running a CUDA card and that extension is linked against such an old version of CUDA that it just errors multiple times trying to import DLLs during startup and most parts won't work, so if it's not up to date for that there's not much chance of getting them to update it to work on mac.
Thanks for the quick reply!
Yeah, I suspect Comfy can't really solve this, but I wonder what's the current workaround for the issue I'm facing and if others are also facing it.
I'm curious if a workaround was ever discovered for this issue...?
Try using this: https://github.com/MarkoCa1/ComfyUI_Segment_Mask/issues/5
Any workarounds for this? Im on m1 max and and find any solution :(
Issue #60 in comfyui_segment_anything
SAMModelLoader Failure on Apple Silicon due to CUDA Deserialization Error
Has anyone else encountered this issue when trying to run
SAMModelLoader
for the segment anything functionality on an Apple Silicon Mac? I'm getting an error related to CUDA deserialization, despite the fact thattorch.cuda.is_available()
returnsFalse
. It seems like the model loading process is mistakenly assuming the availability of CUDA on a platform that clearly does not support it, leading to a failure in executing the desired functionality.Issue Description
When attempting to run
SAMModelLoader
for the segment anything functionality on an Apple Silicon Mac, an error is encountered indicating a problem with attempting to deserialize an object on a CUDA device, even thoughtorch.cuda.is_available()
returnsFalse
.Environment
torch==2.1.2
;torchvision==0.16.2
Error Message
Expected Behavior
The model loader should detect the absence of CUDA and automatically adjust to use CPU for model deserialization and execution, allowing the functionality to proceed without error, or ideally switch to the GPU Apple Silicon provides.
Actual Behaviour
The process fails with an error message indicating an attempt to deserialize a CUDA object on a system where CUDA is not available, due to
torch.cuda.is_available()
returningFalse
.Screenshot