maxvit_rmlp_nano_rw_256_sw - Ascend NPU 适配
1. 模型信息
- 模型: timm/maxvit_rmlp_nano_rw_256.sw_in1k
- 架构: MaxViT (Multi-Axis Vision Transformer)
- 任务: 图像分类 (ImageNet-1K, 1000类)
- 适配状态: SUCCESS
- 适配时间: 2026-05-20
2. 验证环境
| 组件 | 版本 |
|---|
| torch | 2.9.0 |
| torch-npu | 2.9.0.post1 |
| timm | 1.0.27 |
| CANN | 8.5.1 |
| NPU | Ascend 910B4 |
| OS | Ubuntu 22.04.5 LTS (aarch64) |
| Python | 3.11.14 |
3. 精度评测
NPU vs CPU 精度对比:
| 指标 | 数值 |
|---|
| Cosine Similarity | 0.999991 |
| Max Absolute Error | 0.004901 |
| Relative Error | 0.043701 |
| 精度误差 | 0.49% |
| 是否满足要求 | 是(< 1%) |
4. 性能
| 指标 | 数值 |
|---|
| CPU 推理时间 | 296.86 ms |
| NPU 推理时间 | 15.21 ms |
| 加速比 | 19.5x |
5. 推理输出证据
以下为在 Ascend NPU (npu:0) 上运行 inference.py 的真实输出:
=== maxvit_rmlp_nano_rw_256.sw_in1k ===
Dtype: torch.float32
--- CPU 推理 ---
输出形状: torch.Size([1, 1000])
输出前5值: [-0.18189625442028046, -0.1727043092250824, 0.4043337404727936, 0.25083646178245544, 0.20128312706947327]
推理时间: 296.86ms
--- NPU 推理 ---
输出形状: torch.Size([1, 1000])
输出前5值: [-0.1801823228597641, -0.17256315052509308, 0.40552011132240295, 0.2513701617717743, 0.20027568936347961]
推理时间: 15.21ms
=== 精度对比 ===
Cosine Similarity: 0.999991
Max Absolute Error: 0.004901
Relative Error: 0.043701
✓ NPU 适配通过
6. 复现步骤
source /usr/local/Ascend/ascend-toolkit/set_env.sh
python3 inference.py --device npu:0
7. 评测材料
| 材料 | 文件 | 说明 |
|---|
| 推理脚本 | inference.py | NPU 推理代码,使用 timm 加载预训练权重 |
| 精度报告 | report.json | 结构化评测结果 |
| 推理日志 | logs/inference.log | 完整推理输出日志 |
| 截图证据 | screenshots/ | 终端输出截图 |
贡献者: xujiashuai | 赛道: 模型适配赛道 | 时间: 2026-05-20