将 Genius-Society/insecta 昆虫识别模型适配到昇腾 NPU (Ascend910B)。
原模型为 ONNX 格式,包含 detector(目标检测)和 identifier(图片分类)两个组件。本次适配将 identifier 分类模型通过 onnx2torch 转换为 PyTorch 格式,并在 NPU 上完成推理验证、精度一致性检查和性能基准测试。
| 项目 | 版本/型号 |
|---|---|
| 硬件 | Ascend910B |
| CANN | 8.5.1 |
| Python | 3.11 |
| torch | 2.x |
| torch-npu | 2.x |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
| 排名 | 类别 | 拉丁名 | 概率 |
|---|---|---|---|
| Top-1 | 鳞翅目_斑蝶科_斑蝶属_金斑蝶 | Danaus chrysippus | 0.9064 |
| Top-2 | 鳞翅目_斑蝶科_斑蝶属_虎斑蝶 | Danaus genutia | 0.0053 |
| Top-3 | 鳞翅目_凤蝶科_凤蝶属_玉带美凤蝶(玉带凤蝶) | Papilio polytes | 0.0016 |
| Top-4 | 鳞翅目_珍蝶科_珍蝶属_斑珍蝶2 | Acraea terpsicore | 0.0014 |
| Top-5 | 鳞翅目_蛱蝶科_锯蛱蝶属_白带锯蛱蝶 | Cethosia cyane | 0.0014 |
日志保存在 logs/inference.log。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.009521 |
| mean_abs_error | 0.001357 |
| relative_error | 0.0710% |
| cosine_similarity | 0.999998 |
| threshold | 1.0% |
| 结果 | PASS |
CPU Top-1: 鳞翅目_斑蝶科_斑蝶属_金斑蝶 NPU Top-1: 鳞翅目_斑蝶科_斑蝶属_金斑蝶 Top-1 match: True
| 指标 | 数值 |
|---|---|
| avg_latency | 4.76 ms |
| throughput | 209.99 images/sec |
测试环境:单卡 Ascend910B,batch_size=1,输入 224×224。
本项目包含单图 smoke consistency 验证,非官方完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.png
logs/inference.log — 推理输出logs/accuracy.log — 精度验证结果logs/benchmark.log — 性能基准数据onnx2torch 动态转换为 PyTorch 模型model_utils.py 中的 MODEL_DIR#NPU #Ascend #InsectRecognition #ONNX #MobileNetV2