v
v50_/yolov10-npu-opt
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

YOLOv10-X Ascend NPU 性能优化

原始权重: yolov10x.pt | 本项目: yolov10-800i-a2-tuning

YOLOv10-X 已在 华为昇腾 910B4-1 (Atlas 800 A2) NPU 上完成适配和性能优化,经 ATC 离线编译 .om (FP16) 后推理延迟从 CPU 16.39s 降至 4.29ms(3817x 加速),精度差异仅 -0.26%。

优化成果(CPU 为性能基线)

版本关键优化延迟 (bs=1)FPS加速比(vs CPU)
CPU Baseline (FP32)—16.39s0.061.0x
NPU Baseline (FP32)—26.86ms37.2610.6x
Opt3 (FP32)Conv+BN 融合 + TQE18.18ms55.0902.0x
Opt3 (AMP FP16)+ AMP FP16 推理15.06ms66.41088.3x
Opt4 ATC .omONNX→onnxsim→ATC .om (FP16)4.29ms232.93816.5x

精度验证(COCO val2017,前 500 张)

指标Baseline FP32ACL .om FP16差异
mAP@0.5:0.9558.40%58.14%-0.26% ✅
mAP@0.5074.80%74.74%-0.06% ✅
mAP@0.7564.40%64.38%-0.02% ✅
延迟26.86ms4.29ms6.25x 加速

Opt3 优化详情 (FP16 + ConvBN融合 + TQE)

Opt3 FP32:     18.18ms  (55.0 FPS)  → 1.48x vs Baseline
Opt3 AMP FP16: 15.06ms  (66.4 FPS)  → 1.78x vs Baseline
精度损失: mAP diff = -0.0018 ✅ (< 1%, 合规)

快速运行

# Baseline 推理
python inference.py --benchmark --warmup 100 --iters 200

# Opt3 推理 (硬编码 warmup=100, iters=200)
TASK_QUEUE_ENABLE=2 python inference_opt3.py --benchmark

# 精度验证 (Opt3 FP16 vs Baseline)
TASK_QUEUE_ENABLE=2 python inference_opt3.py --accuracy

# Opt4 ACL .om 推理(6.25x 加速)
python export_om.py --all --soc Ascend910B4
# 或仅运行精度评估
python eval_acl_accuracy.py

复现要求

项目说明
硬件Ascend 910B4-1 NPU (Atlas 800 A2) × 1
CANNcann-8.5.0
模型权重yolov10x.pt ← 从 官方 Release 下载
数据集COCO val2017(5000 张) + instances_val2017.json
精度评估子集COCO val2017 前 500 张(按 img_id 排序)
依赖见 requirements.txt
# 一键配置环境
bash setup_env.sh --all

# 或者分步执行
pip install -r requirements.txt

评估命令

# Baseline (FP32)
python inference.py --benchmark --warmup 100 --iters 200
python inference.py --accuracy --max-images 500

# Opt3 (FP16 + TQE)
TASK_QUEUE_ENABLE=2 python inference_opt3.py --benchmark
TASK_QUEUE_ENABLE=2 python inference_opt3.py --accuracy

# Opt4 (ACL .om 离线编译)
python eval_acl_accuracy.py
# 或全流程 (默认静态ONNX导出, SOC需匹配NPU型号):
python export_om.py --all --soc Ascend910B4

注意:ATC 编译时需指定 --framework=5(脚本已内置),并根据实际 NPU 型号设置 --soc 参数。可用 npu-smi info 查看 NPU 型号。CANN 版本不同可能需要调整 ATC 路径。

完整详细文档请参见 VERIFICATION_GUIDE.md、validation_report.md。