本项目将 timm/convnext_base.fb_in22k 模型适配到昇腾 NPU (Ascend910) 上运行。
适配方式:使用 ModelScope snapshot_download 下载权重,通过 timm.create_model(..., pretrained=False) 创建模型并加载本地权重,确保不触发 HuggingFace 自动下载。
| 组件 | 版本 |
|---|---|
| CANN | 8.5.1 |
| PyTorch | 2.9.0+cpu |
| torch_npu | 可用 |
| NPU | Ascend910 |
| timm | 1.0.27 |
| modelscope | 1.35.3 |
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.033873 |
| mean_abs_error | 0.004627 |
| relative_error | 0.5061% |
| cosine_similarity | 0.999989 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均延迟 | 16.597 ms |
| 最小延迟 | 15.618 ms |
| 最大延迟 | 17.530 ms |
| P50 延迟 | 17.442 ms |
| P90 延迟 | 17.530 ms |
| P95 延迟 | 17.530 ms |
| 吞吐量 | 60.25 images/sec |
测试配置:batch_size=1, input=[1, 3, 224, 224], warmup=2, iterations=10
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.png 与 screenshots/self_verification.txt。
logs/inference.log — 推理结果logs/accuracy.log — CPU-NPU 精度一致性logs/benchmark.log — 性能基准测试logs/env_check.log — 环境检查timm.create_model(..., pretrained=True) 触发 HuggingFace 自动下载#NPU #Ascend #Ascend910 #ConvNeXt #ImageNet-22k