项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-14 · 当前星标 ★ 2100
使用教程
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 支持 CUDA 的 NVIDIA GPU(README 示例使用 0,1,2,3 四张卡)
- 已安装 PyTorch、可用 torchrun 的 Python 环境(README 未给出安装命令,需自行准备)
- COCO2017 数据集(示例配置均为 coco 版本)
- 本仓库完整代码,包含 configs/deimv2 目录
安装与启动步骤
-
1克隆项目代码
从 GitHub 克隆 DEIMv2 源码并进入项目目录,后续所有命令都需在此目录下执行。
git clone https://github.com/Intellindust-AI-Lab/DEIMv2.git cd DEIMv2 -
2准备运行环境
README 的 2.1 Environment Setup 章节内容为空,没有给出任何安装命令,需自行按 PyTorch 与 torchrun 的要求准备环境。
-
3选择模型配置文件
ViT 版本用 deimv2_dinov3_${model}_coco.yml,HGNetv2 版本用 deimv2_hgnetv2_${model}_coco.yml,把 ${model} 替换成实际尺寸(如 s)。
-
4启动模型训练
用 torchrun 多卡训练,--nproc_per_node=4 表示 4 卡,--use-amp 开启混合精度,--seed=0 固定随机种子。
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 --nproc_per_node=4 train.py -c configs/deimv2/deimv2_dinov3_s_coco.yml --use-amp --seed=0 -
5测试评估模型
加 --test-only 只做评估,用 -r 指定要加载的权重文件 model.pth,换成你自己的权重路径。
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 --nproc_per_node=4 train.py -c configs/deimv2/deimv2_dinov3_s_coco.yml --test-only -r model.pth -
6微调已有权重
用 -t 指定待微调的权重文件,其余参数与训练一致,适合在已有模型基础上继续训练。
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 --nproc_per_node=4 train.py -c configs/deimv2/deimv2_dinov3_s_coco.yml --use-amp --seed=0 -t model.pth -
7按需调整超参数
改 batch size 需同步按线性缩放调整学习率、EMA decay 与 warmup;改输入尺寸要同步改 eval_spatial_size 和 Resize。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
train_dataloader.total_batch_size | 否 | 训练总批大小,3.2 节示例从 32 改为 64 | 64 |
optimizer.lr | 否 | 主干学习率,批大小翻倍时按线性缩放律加倍 | 0.0005 |
ema.decay | 否 | EMA 衰减率,批大小翻倍时按 1-(1-decay)*2 调整 | 0.9998 |
lr_warmup_scheduler.warmup_duration | 否 | 学习率预热步数,批大小翻倍时减半 | 250 |
eval_spatial_size | 否 | 评估输入尺寸,3.3 节示例改为 320x320 | [320, 320] |
epoches | 否 | 总训练轮数,3.4 节示例 20 轮训练加 EMA 共 32 | 32 |
如何确认成功
命令无报错并持续输出训练日志;用 --test-only 跑完后能打印 COCO 上的精度结果。
常见问题
Q:README 里没有安装依赖的命令怎么办?
A:2.1 Environment Setup 章节是空的,官方未给安装命令。只能自行准备 PyTorch 环境和 COCO 数据集,再直接运行 train.py;不要照抄来路不明的安装命令。
Q:只有一张显卡能跑吗?
A:README 示例全部是 4 卡(--nproc_per_node=4)且 CUDA_VISIBLE_DEVICES=0,1,2,3。单卡需自行把这两处改成 1 和 0,但官方未给出单卡配置说明。
Q:配置文件里的 ${model} 填什么?
A:替换为模型尺寸代号,README 提到有 ultra-light、S、M、L、X 等多种尺寸,需与 configs/deimv2 目录下实际存在的文件名一致。
Q:改了 batch size 之后训练不稳定?
A:3.2 节强调批大小翻倍时学习率要按线性缩放律加倍,同时 EMA decay 和 warmup 步数也要同步调整,否则收敛会变差。
Q:改 epoch 时还要改哪些参数?
A:3.4 节要求 policy.epoch、mixup_epochs、stop_epoch、copyblend_epochs 与 epoches、flat_epoch、no_aug_epoch 保持一致,matcher_change_epoch 约取无增强阶段的 90%。
注意事项
- README 未提供任何依赖安装命令,环境与数据集需自行准备,本教程相应步骤已留空。
- 所有训练/测试命令都基于 torchrun,主端口固定为 7777,多任务并行时注意端口冲突。
- 训练/评估都要先把 ${model} 替换成真实的模型尺寸,否则找不到配置文件。
- weight_decay、betas、matcher 等参数调优请直接对照仓库 configs/deimv2 下的真实 yml 文件。
核心亮点
- 基于DINOv3,特征提取能力强,检测精度高
- 端到端Transformer架构,无需NMS后处理,流程简洁
- 实时性优化,适合边缘设备部署
不足之处
- 依赖DINOv3预训练模型,模型体积可能较大
- 文档/社区待观察
适用场景
- 自动驾驶中的实时障碍物检测
- 工业质检中的缺陷定位
- 视频监控中的目标跟踪与识别
替代项目
YOLOv8、RT-DETR、DETR
同类项目推荐
darknet
开源
轻量 C 框架,CPU 也能跑 YOLO 实时检测
Darknet/YOLO object detection framework
cvkit
开源
轻量 C++ 工具,快速查看图像与 3D 模型
Computer Vision Toolkit. cvkit is available for Linux as well as for Windows. It off···
yolo-inference
开源
一套代码跑通十余代 YOLO 推理
C++ and Python implementations of YOLOv3, YOLOv4, YOLOv5, YOLOv6, YOLOv7, YOLOv8, YO···
lw.PPOCR.C
开源
纯 C 无依赖跑 PP-OCR,端侧和浏览器都能直接 OCR
轻量级、无运行时依赖的纯 C PP-OCR 推理运行时,支持 PP-OCRv6 Tiny/Small/Medium、DET/C···
CV_Deployment_skill
开源
视觉模型部署工程模板,照着配就能跑起来
Computer vision deployment resources and engineering workflow configuration
HandX
开源
让数字人双手协作,生成自然交互动作
[CVPR 2026] HandX: Scaling Bimanual Motion and Interaction Generation
AdaRefSR
开源
一张参考图,单步扩散,超分又快又真
AdaRefSR is a novel reference-based one-step diffusion super-resolution framework. P···
DART
开源
用前沿模型实时检测视频里的任何目标
Detect Anything in Real Time: Real-time object detection using frontier object detec···
AWESOME-OCR-LLM
开源
一张清单看懂大模型时代 OCR 怎么选
OCR in the Era of Large Language Models
