Grounding DINO的colab报错问题解决方法

2025.5.26 16:50补充:pytorch在1.9版本开始不再支持input.type()这种方式

// 旧写法(已弃用)
auto dtype = input.type().scalar_type();
auto device = input.type().backend();

// 新写法(推荐)
auto dtype = input.scalar_type();
auto device = input.device().type();

PyTorch 版本input.type()input.scalar_type()
≤ 1.4✅ 支持✅ 支持
1.5 – 1.8⚠️ 弃用中✅ 推荐
≥ 1.9❌ 不支持✅ 必须使用

2025.5.19 18:00 补充:官方colab没有设置CUDA_HOME,可以考虑使用如下代码设置

import os

os.environ['CUDA_HOME'] = '/usr/local/cuda'

最近在colab尝试Grounding DINO的demo(ipynb)时遇到了一些问题:

1.NameError: name '_C' is not defined

2.error: subprocess-exited-with-error

运行出问题部分(该部分问题不解决,直接运行后续预测代码,会报错NameError: name '_C' is not defined):

%cd {HOME}
!git clone https://github.com/IDEA-Research/GroundingDINO.git
%cd {HOME}/GroundingDINO
!pip install -q -e .
!pip install -q roboflow

解决办法

修改”GroundingDINO/groundingdino/models/GroundingDINO/csrc/MsDeformAttn/ms_deform_attn_cuda.cu“文件第65行与135行,将value.type()修改为value.scalar_type(),修改完后重新运行出问题部分代码,可以成功跑起来。

出错原因:colab上使用的torch2.6.0+cuda12.5或以上版本已经不再兼容旧的.type()方式,导致groundingdino库构建出错,无法成功安装

### 如何使用 Roboflow 进行数据标注 Roboflow 是一种强大的工具,用于管理和准备机器学习项目中的视觉数据集。它支持多种任务,包括分类、目标检测和图像分割等。为了帮助用户高效完成这些任务,Roboflow 提供了一系列功能来加速数据标注流程。 #### 1. 利用 SAM (Segment Anything Model) 加速数据标注 SAM 是 Meta 开发的一种先进的分割模型,可以显著减少手动标注的时间成本。通过集成 SAM 技术,Roboflow 的用户能够在短时间内完成复杂的标注任务。据统计,这种技术已经为社区节省了大约 74 年的工作时间[^1]。具体来说,SAM 可以实现以下操作: - **自动边界框生成**:对于目标检测任务,SAM 能够快速识别对象并为其创建精确的边界框。 - **像素级分割**:在更复杂的情况下,如实例分割或语义分割,SAM 提供高精度的掩码标注能力。 #### 2. 结合 Grounding DINO 实现自动化标注 Grounding DINO 是另一个高效的开源框架,专注于自然语言引导的目标检测与分割。如果用户的场景涉及大量未标注的数据,则可以通过 Grounding DINO 来进一步优化效率。下面是一个基于 Google Colab 的简单教程概述[^2]: ```python # 安装依赖项 !pip install groundingdino-torch from groundingdino.util.inference import load_model, predict model = load_model() # 初始化模型 predictions = predict(model=model, image_path="example.jpg", text_prompt="car") # 输入提示词 ``` 上述脚本展示了如何加载预训练好的 Grounding DINO 模型以及利用文字描述(例如 “car”)来自动生成对应标签的过程。 #### 3. 添加新类别到现有工作区内 当需要向已有的 Roboflow 工作区引入新的内容类型时,可遵循如下方法[^3]: - 登录至 Roboflow 控制台; - 找到对应的项目区域; - 创建一个新的文件夹或者直接上传带有不同类别的图片; - 系统会根据先前设定的标准重新分配资源给新增加的部分; 最终经过以上步骤处理后的成果会被存储于统一数据库下便于后续调取分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值