facebook/convnext-large-224 on Ascend NPU
1. 简介
facebook/convnext-large-224 是 Meta 提出的 ConvNeXt 图像分类模型,在 ImageNet 上预训练,输入分辨率 224x224,包含 1000 个类别。本项目将其适配到华为昇腾 NPU (Ascend910) 上运行。
2. 验证环境
- 硬件:华为昇腾 910 NPU
- 软件:PyTorch + torch_npu
- 模型来源:ModelScope (facebook/convnext-large-224)
- 框架:transformers (ConvNextForImageClassification)
3. 推理运行
pip install -r requirements.txt
python inference.py
推理结果 (NPU Top-5):
- Top-1: stupa, tope (0.7035)
- Top-2: volcano (0.1828)
- Top-3: alp (0.0029)
- Top-4: valley, vale (0.0014)
- Top-5: cliff, drop, drop-off (0.0011)
日志保存在 logs/inference.log。
4. 精度验证
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|
| max_abs_error | 0.010015 |
| mean_abs_error | 0.001371 |
| relative_error | 0.4995% |
| cosine_similarity | 0.999994 |
| threshold | 1.0% |
| 结果 | PASS |
- CPU Top-1: stupa, tope
- NPU Top-1: stupa, tope
- CPU Top-5: stupa, tope, volcano, alp, valley, vale, cliff, drop, drop-off
- NPU Top-5: stupa, tope, volcano, alp, valley, vale, cliff, drop, drop-off
- Top-1 match: True
- Top-5 match: True
5. 性能参考
| 指标 | 数值 |
|---|
| avg_latency | 20.16 ms |
| min_latency | 20.07 ms |
| max_latency | 20.31 ms |
| p50_latency | 20.14 ms |
| p90_latency | 20.21 ms |
| p95_latency | 20.26 ms |
| images_per_sec | 49.61 |
6. 精度评测说明
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
7. 自验证截图
见 screenshots/self_verification.png。
8. 日志文件
logs/inference.log — 推理输出日志
logs/accuracy.log — 精度验证日志
logs/benchmark.log — 性能基准日志
9. 注意事项
- 使用 ModelScope snapshot_download 下载权重,不通过 HuggingFace 自动下载
- 使用 transformers ConvNextForImageClassification 加载本地权重
- 单图 smoke test 结果,非完整 ImageNet 评测
10. 标签 #NPU