将 timm 库中的 InceptionV3 模型(tf_adv_in1k 预训练权重)适配到华为昇腾 Ascend NPU(单卡)上运行。
timm/inception_v3.tf_adv_in1k[1, 3, 299, 299][1, 1000]| 项目 | 值 |
|---|---|
| NPU 型号 | Ascend910B (Ascend910_9362) |
| 框架 | PyTorch + torch_npu |
| 权重来源 | ModelScope snapshot_download |
| 权重格式 | model.safetensors (91.11 MB) |
| 模型加载 | timm.create_model(pretrained=False) + 本地权重加载 |
| HuggingFace 下载 | 未使用 |
pip install -r requirements.txtpython download_test_image.pypython inference.py输出示例:
Top-5 predictions:
class_21: 0.1649
class_23: 0.1597
class_22: 0.0868
class_135: 0.0320
class_350: 0.0233python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.012420 |
| mean_abs_error | 0.001952 |
| relative_error | 0.2447% |
| cosine_similarity | 0.999997 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 值 |
|---|---|
| 设备 | Ascend910_9362 |
| 输入尺寸 | [1, 3, 299, 299] |
| 预热次数 | 2 |
| 测试次数 | 10 |
| Avg Latency | 10.54 ms |
| Min Latency | 10.40 ms |
| Max Latency | 10.72 ms |
| P50 | 10.52 ms |
| P90 | 10.72 ms |
| P95 | 10.72 ms |
| Throughput | 94.86 img/s |
运行:python benchmark.py
本工程仅包含 smoke 一致性验证(CPU vs NPU 对比),不包含 ImageNet 官方精度评测。
如需官方精度,请使用 ImageNet validation set 运行完整评测。
详见 screenshots/self_verification.txt 和 screenshots/self_verification.png。
| 文件 | 内容 |
|---|---|
logs/inference.log | NPU 推理结果 |
logs/accuracy.log | CPU vs NPU 精度对比 |
logs/benchmark.log | 性能基准测试 |
logs/paths.txt | 模型路径信息 |
*.safetensors, *.bin, *.pth 等)snapshot_download 自动下载#NPU