本项目将 ModelScope 上的 Genius-Society/ViT(torchvision ViT-B/16,ImageNet-1k 1000 类分类)适配到单卡昇腾 NPU(Ascend910B)。使用 ModelScope snapshot_download 下载 .pth 权重,通过 torchvision.models.vision_transformer.vit_b_16 加载本地权重,并在 npu:0 上完成真实推理。
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
| Rank | Class | Probability |
|---|---|---|
| Top-1 | class_437 | 0.0709 |
| Top-2 | class_517 | 0.0422 |
| Top-3 | class_908 | 0.0362 |
| Top-4 | class_978 | 0.0288 |
| Top-5 | class_417 | 0.0287 |
日志保存在 logs/inference.log。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.024725 |
| mean_abs_error | 0.004766 |
| relative_error | 0.5390% |
| cosine_similarity | 0.999988 |
| threshold | 1.0% |
| 结果 | PASS |
CPU Top-1: class_437 NPU Top-1: class_437 CPU Top-5: class_437, class_517, class_908, class_978, class_417 NPU Top-5: class_437, class_517, class_908, class_978, class_417 Top-1 match: True Top-5 match: True
| 指标 | 数值 |
|---|---|
| avg_latency | 5.18 ms |
| min_latency | 5.11 ms |
| max_latency | 5.27 ms |
| p50_latency | 5.17 ms |
| p90_latency | 5.27 ms |
| throughput | 193.20 images/sec |
日志保存在 logs/benchmark.log。
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.txt。
logs/env_check.log — NPU 环境检查logs/inference.log — NPU 推理 Top-5 结果logs/accuracy.log — CPU-NPU 精度一致性检查logs/benchmark.log — NPU 性能基准测试.pth)未提交到仓库,首次运行时会通过 ModelScope snapshot_download 自动下载到本地缓存目录。assets/test.jpg 为平滑渐变合成图,用于 smoke consistency 验证。torch_npu 权限警告(/usr/local/Ascend/cann-8.5.1 owner mismatch),不影响推理和精度结果。#NPU #Ascend #ViT #ImageNet #ModelScope