将 timm 预训练视觉模型 mobilenetv3_large_100.miil_in21k(MobileNetV3 Large,ImageNet-22k 预训练,11221 类)适配到单卡昇腾 NPU (Ascend910) 上运行。使用 ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重,不使用 HuggingFace 直连下载。
| 项目 | 配置 |
|---|---|
| NPU | Ascend910_9362 (单卡) |
| CANN | 8.5.1 |
| PyTorch | 2.9.0+cpu |
| torch_npu | 可用 |
| Python | 3.11 |
| 模型参数量 | 18,576,133 |
| 权重大小 | 71.0 MB (safetensors) |
| 类别数 | 11221 (ImageNet-22k) |
# 安装依赖
pip install -r requirements.txt
# 运行推理
python inference.py输出示例:
Top-1: class_3569 (0.0994)
Top-2: class_2443 (0.0819)
Top-3: class_6794 (0.0794)
Top-4: class_2455 (0.0300)
Top-5: class_3507 (0.0283)对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.048798 |
| mean_abs_error | 0.009190 |
| relative_error | 0.6134% |
| cosine_similarity | 0.999980 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| 平均推理延迟 | 6.16 ms |
| 最小延迟 | 6.04 ms |
| 最大延迟 | 6.32 ms |
| p50 | 6.15 ms |
| p90 | 6.32 ms |
| p95 | 6.32 ms |
| 吞吐量 | 162.35 images/sec |
测试条件:batch=1, 224x224 输入, 2 次预热 + 10 次正式测试, Ascend910 单卡。
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
详见 screenshots/self_verification.png。
logs/inference.log - 推理输出日志logs/accuracy.log - CPU-NPU 精度一致性验证日志logs/benchmark.log - 性能基准测试日志logs/env_check.log - 环境检查日志pretrained=False + 本地权重加载,不使用 HuggingFace 自动下载#NPU