本项目将 Genius-Society/ViT 模型适配到昇腾 NPU (Ascend910B) 上运行。
| 项目 | 版本/信息 |
|---|---|
| NPU 驱动 | npu-smi 25.5.2 |
| NPU 设备 | Ascend910_9362 |
| Python | 3.11.14 |
| PyTorch | (环境自带) |
| torch_npu | (环境自带) |
NPU 健康状态: OK
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
完整推理日志 (logs/inference.log):
=== Genius-Society/ViT NPU Inference ===
Model: Genius-Society/ViT
Loader type: torchvision
Input shape: torch.Size([1, 3, 224, 224])
Output shape: torch.Size([1, 1000])
Num classes: 1000
NPU Top-5 Predictions:
Top-1: Egyptian cat (0.698129)
Top-2: carton (0.076608)
Top-3: tabby, tabby cat (0.056580)
Top-4: Siamese cat, Siamese (0.005423)
Top-5: feather boa, boa (0.005405)
All class probabilities (top 10):
Egyptian cat: 0.698129
carton: 0.076608
tabby, tabby cat: 0.056580
Siamese cat, Siamese: 0.005423
feather boa, boa: 0.005405
plastic bag: 0.005295
tiger cat: 0.003150
ping-pong ball: 0.002432
Angora, Angora rabbit: 0.002183
radiator: 0.001566对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.002667 |
| mean_abs_error | 0.000009 |
| relative_error | 2.0792% |
| cosine_similarity | 0.999960 |
| threshold | 1.0% |
| 结果 | FAIL |
说明: ViT-B/16 为 1000 分类模型,softmax 输出存在大量近零概率项,relative_error 对这些项极为敏感,导致均值超出 1% 阈值;但 max_abs_error 仅 0.0027,cosine_similarity 达 0.99996,且 CPU/NPU Top-1 预测完全一致,说明实际推理一致性良好。本验证为单图 smoke test,非完整 ImageNet 验证集评测。
| 指标 | 数值 |
|---|---|
| avg latency | 5.2914 ms |
| min latency | 5.2463 ms |
| max latency | 5.3733 ms |
| p50 latency | 5.2832 ms |
| p90 latency | 5.3733 ms |
| p95 latency | 5.3733 ms |
| images/sec | 188.98 |
测试配置: warmup 2 次 + 正式 10 次,单卡 NPU。
本项目包含单图 smoke consistency 验证,非官方完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.png。
| 日志 | 说明 |
|---|---|
logs/inference.log | NPU 推理输出 |
logs/accuracy.log | CPU-NPU 精度一致性 |
logs/benchmark.log | NPU 性能基准测试 |
snapshot_download 下载,不提交到仓库。#NPU #Ascend #Ascend910 #ViT #VisionTransformer #ImageClassification #ImageNet