本项目将 ModelScope 图片分类模型 timm/efficientnet_lite0.ra_in1k 适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。
timm.create_model(..., pretrained=False) + ModelScope 本地 model.safetensorstimm.data.resolve_model_data_config + timm.data.create_transform注意:该模型无 id2label 文件,推理结果使用 class_0 .. class_999 作为标签。
详见 logs/env_check.log。
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
python eval_accuracy.py推理结果(单张测试图片):
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.006513 |
| mean_abs_error | 0.001218 |
| relative_error | 0.1018% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
python benchmark.py| 指标 | 数值 |
|---|---|
| Avg latency | 43.646 ms |
| Min latency | 28.910 ms |
| Max latency | 93.388 ms |
| P50 latency | 34.763 ms |
| P90 latency | 93.388 ms |
| P95 latency | 93.388 ms |
| Images/sec | 22.91 |
测试条件:batch_size=1, 预热 2 次, 正式 10 次, 单卡 Ascend910B4。
本工程未包含官方 ImageNet 验证集精度评测,仅提供 CPU/NPU smoke 一致性检查。如需完整精度评测,请使用 ImageNet val 数据集运行标准评估。
自验证信息汇总见 screenshots/self_verification.txt 与 screenshots/self_verification.png。
| 文件 | 说明 |
|---|---|
logs/env_check.log | NPU 环境检查 |
logs/paths.txt | ModelScope 模型目录与权重路径 |
logs/inference.log | NPU 推理结果 |
logs/prediction.txt | Top-5 预测标签与概率 |
logs/accuracy.log | CPU vs NPU 一致性对比 |
logs/benchmark.log | 性能基准测试结果 |
snapshot_download 下载到本地缓存,脚本运行时自动复用。timm.create_model(..., pretrained=True),避免触发 HuggingFace Hub 下载。.safetensors, .bin, .pth, .pt, .ckpt, .onnx)已加入 .gitignore,不提交到仓库。fusion_result.json 与 kernel_meta/ 已清理并加入 .gitignore。#NPU #Ascend #EfficientNet #timm #image-classification