c
colour_hand/yolos-base
模型介绍
文件和版本
Pull Requests
讨论
分析

YOLOS-Base — 昇腾 NPU 适配

1. 简介

  • 模型: hustvl/yolos-base
  • 任务类型: 目标检测(ViT + DETR head)
  • 框架: PyTorch(transformers 原生 YolosForObjectDetection)
  • 参数量: 127.798M
  • 来源厂商: hustvl

2. 验证环境

组件版本
torch2.9.0
CANN8.5.1
transformers4.57.6
Python3.11.14
硬件Ascend 910B

3. 推理步骤

source /usr/local/Ascend/ascend-toolkit/set_env.sh
python3 inference.py

4. 测试样例及输出结果

============================================================
yolos-base  NPU 目标检测  + CPU/NPU 精度对比
============================================================
| device   : npu:0  (x2)
| model    : YOLOS (127.798M params)
| load     : 1.62s
| model    : YOLOS (127.798M params)
| load     : 0.28s
| input    : [1, 3, 512, 512]  (1 张图, 512x512)
| out shape: logits [1, 100, 92], boxes [1, 100, 4]
| cos(logits): 0.99999940  cos(boxes): 0.99999821
| latency  : 14.71 ms
| result   : PASS ✅
============================================================

5. 性能参考

指标值
延迟14.71 ms(1 张 512x512 图像)
Cosine(logits)0.99999940
Cosine(boxes)0.99999821

6. 精度评测

指标值
Cosine Similarity0.99999940
Cosine(boxes)0.99999821

适配状态: PASS ✓

7. 注意事项

  1. 推理前需执行 source /usr/local/Ascend/ascend-toolkit/set_env.sh,以设置 CANN 环境变量。
  2. 模型权重存放于 /data/models/yolos-base/,请勿移动或修改。
  3. transformers 原生 YolosForObjectDetection 直接加载(无需手动实现架构)
  4. 关键易错点:
    • 与 yolos-small 采用相同架构(ViT + DETR head),hidden=768 / 12 层 / patch=16
    • 输入 [B,3,512,512],输出 logits[100,92](100 queries × 92 类)+ boxes[100,4]
    • 检测头输出双分支对比(logits + boxes)
    • 权重 pytorch_model.bin(~488MB)
  5. 首次在 NPU 上运行时,可能需要额外的编译时间(kernel 缓存)