本项目将 timm/flexivit_large.1200ep_in1k 图片分类模型适配到昇腾 NPU (Ascend910)。
FlexiViT 是一种灵活的 Vision Transformer,支持可变输入分辨率和 patch size。本模型为 Large 规模,在 ImageNet-1k 上训练 1200 epoch 的权重。
pip install -r requirements.txt
python inference.py推理结果 (NPU Top-5):
日志保存在 logs/inference.log。
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.022941 |
| mean_abs_error | 0.007398 |
| relative_error | 0.5495% |
| cosine_similarity | 0.999983 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 数值 |
|---|---|
| avg_latency_ms | 10.47 |
| min_latency_ms | 10.27 |
| max_latency_ms | 11.11 |
| p50_latency_ms | 10.42 |
| p90_latency_ms | 11.11 |
| p95_latency_ms | 11.11 |
| images_per_sec | 95.48 |
日志保存在 logs/benchmark.log。
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
见 screenshots/self_verification.png。
logs/inference.log - 推理结果logs/accuracy.log - 精度一致性验证logs/benchmark.log - 性能基准测试logs/env_check.log - NPU 环境检查logs/stage0.log - 模型可用性检查timm.data.resolve_model_data_config 自动解析。snapshot_download 下载,严禁使用 timm.create_model(..., pretrained=True) 从 HuggingFace 自动下载。#NPU #Ascend #Ascend910 #timm #FlexiViT #ImageClassification