将 timm/tf_efficientnetv2_s.in21k (EfficientNetV2-S, ImageNet-21k 预训练) 适配为可在单卡昇腾 NPU (Ascend910) 上运行的提交工程。
timm/tf_efficientnetv2_s.in21k)timm.create_model('tf_efficientnetv2_s.in21k', pretrained=False)snapshot_download + 本地 safetensors 加载| 项目 | 值 |
|---|---|
| NPU | Ascend910 (单卡) |
| PyTorch | torch_npu |
| 模型加载 | ModelScope snapshot_download + timm.create_model(pretrained=False) |
| 权重格式 | safetensors |
# 安装依赖
pip install -r requirements.txt
# 运行推理
python inference.py输出示例:
模型: timm/tf_efficientnetv2_s.in21k
输出 shape: torch.Size([1, 21843])
设备: Ascend910_9362
Top-5 预测:
class_14262: 0.6259
class_14413: 0.2880
class_14227: 0.0380
class_14117: 0.0076
class_14173: 0.0042python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.004400 |
| mean_abs_error | 0.000696 |
| relative_error | 0.0457% |
| cosine_similarity | 1.000000 |
| threshold | 1.0% |
| 结果 | PASS |
运行性能基准测试:
python benchmark.py结果 (batch=1, 单卡 Ascend910):
| 指标 | 值 |
|---|---|
| avg | 16.84 ms |
| min | 14.52 ms |
| max | 26.57 ms |
| p50 | 15.80 ms |
| p90 | 19.18 ms |
| p95 | 22.88 ms |
| throughput | 59.38 images/s |
本工程仅提供 smoke consistency 验证(CPU vs NPU logits 对比),非官方精度评测。
class_{idx} 格式见 screenshots/self_verification.png
logs/inference.log - 推理结果logs/accuracy.log - 精度验证logs/benchmark.log - 性能测试logs/stage0_result.json - 阶段 0 验证结果timm.data.resolve_model_data_config 自动获取预处理参数#NPU