本项目将 timm/xcit_nano_12_p16_224.fb_in1k 模型适配到华为昇腾 NPU (Ascend910) 上运行。XCiT (Cross-Covariance Image Transformer) 是一种基于 cross-covariance attention 的视觉 Transformer 模型,本适配使用 nano 12 层配置,patch size 16,输入分辨率 224x224,预训练于 ImageNet-1K。
timm.create_model(pretrained=False) + ModelScope snapshot_download 下载本地权重# 安装依赖
pip install -r requirements.txt
# 推理
python inference.py推理结果 (单张测试图):
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.022719 |
| mean_abs_error | 0.004629 |
| relative_error | 0.5977% |
| cosine_similarity | 0.999986 |
| threshold | 1.0% |
| 结果 | PASS |
# 运行精度验证
python eval_accuracy.py在 Ascend910 NPU 上的性能测试结果(10 次推理,含预热 2 次):
| 指标 | 数值 |
|---|---|
| avg_latency | 18.67 ms |
| min_latency | 14.77 ms |
| max_latency | 34.12 ms |
| p50 | 15.51 ms |
| p90 | 34.12 ms |
| p95 | 34.12 ms |
| throughput | 53.57 images/sec |
# 运行性能测试
python benchmark.py本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。

logs/inference.log — 推理结果日志logs/accuracy.log — CPU-NPU 精度一致性检查日志logs/benchmark.log — 性能基准测试日志logs/paths.txt — 模型路径记录pretrained=False,通过 ModelScope snapshot_download 下载权重,使用 timm.create_model 加载本地权重#NPU #Ascend #Ascend910 #XCiT #ImageClassification #timm