SAM、GroundingDINO 加载失败:代码、权重和原生扩展分开检查
检查节点采用的具体实现,不把 SAM、SAM2 和不同 GroundingDINO 封装当成同一个包。
改文件之前,先确认具体实现
原版 Segment Anything 把 segment_anything 代码安装与 checkpoint 下载分开说明;示例还要选 vit_h、vit_l 或 vit_b 等模型类型及对应权重。SAM 2 是独立代码库,有自己的权重;SAM 2.1 checkpoint 需要配合新版 SAM 2 代码。GroundingDINO 则有独立的安装、配置文件和 checkpoint。第三方 ComfyUI 节点可能封装其中任一种实现,所以先记录节点仓库及版本,再对照相应项目的说明,不能因名称相近就互换代码或模型文件。
分清 Python 导入、权重和原生扩展
用真正启动受影响 ComfyUI 的 Python 解释器,记录确切的模块缺失或加载错误、节点版本、Python 与 Torch 版本、项目变体、模型配置/类型及 checkpoint 来源。缺 segment_anything 或 groundingdino,先查代码安装与节点导入路径;权重加载失败则查配置与 checkpoint 是否匹配。有些节点内置依赖,仅凭 pip 查不到分发包,不能断言模块不可用。
groundingdino._C 是 GroundingDINO 的编译扩展,不是 SAM 权重。GroundingDINO 上游指出,缺少 CUDA_HOME 可能构建出仅 CPU 版本,并记录了安装步骤不正确后出现 NameError: name '_C' is not defined 的情况。保留第一处构建或原生加载错误,按该项目平台说明在可恢复的环境副本中排查;更换权重路径无法修复扩展。SAM 2 另有用于部分后处理的自定义 CUDA 扩展,其构建警告本身不等于所有 SAM 2 推理均不可用;不能把这一例外套用于 GroundingDINO 的 _C 错误。
python -m pip show torch torchvision
python -c "import sys, platform; print(sys.executable); print(sys.version); print(platform.machine())"
用小输入验证原节点
核对可信代码及匹配的配置/checkpoint 后,用一张不含隐私的小图片测试受影响的检测或分割节点,并检查遮罩尺寸、类型及下游连线。每次只变动一个组件,保留原始错误与验证结果。若节点或平台支持情况未确认,应如实标记,不安装来源不明的 wheel,也不把别人的截图当成本地测试。
相关排查
资料复核并独立审阅中文:2026-09-26。本站未在本地安装包、编译扩展、加载权重、运行工作流或 GPU。
排查下一个可能的原因
同样的现象可能来自不同原因。可以按顺序查看下面这些相关条目。
- cv2 找不到或导入失败:先分清 OpenCV 四种安装包
No module named cv2区分普通版、contrib 和 headless,检查同一命名空间的重复安装,再处理 DLL 或原生库错误。 - MMCV 安装失败或缺少算子:先核对构建组合
No module named mmcv区别 mmcv 与 mmcv-lite,并将源码构建失败和运行期扩展加载失败分开处理。
这篇内容对你有帮助吗?
匿名统计,只记录“有/没有帮助”的计数,不记录账号、IP 地址或设备信息。
资料来源
2026-09-26 复核原版 SAM、GroundingDINO 和 SAM 2 上游资料并独立审阅中文;未在本地安装、构建、加载权重、运行工作流或 GPU。
01Segment Anything upstream README资料核对: 2026-09-2602GroundingDINO upstream README资料核对: 2026-09-2603SAM 2 upstream README资料核对: 2026-09-26