timm/tf_efficientnet_b7.ns_jft_in1k on Ascend NPU
1. 简介
- 模型名: timm/tf_efficientnet_b7.ns_jft_in1k
- 模型结构: EfficientNet-B7 (TensorFlow 权重转换)
- 参数量: ~66M
- 输入分辨率: 600x600
- 数据集: ImageNet-21K (JFT) 预训练 + ImageNet-1K 微调
- 适配方式: ModelScope snapshot_download 下载权重,timm.create_model(pretrained=False) 加载本地权重
2. 验证环境
- 硬件: 华为 Atlas 900 (Ascend910)
- NPU 驱动: CANN 8.5.1
- PyTorch: 2.x + torch_npu
- timm: 最新版
- 输入分辨率: 600x600 (EfficientNet-B7 原生分辨率)
3. 推理运行
NPU 推理结果(Top-5):
| 排名 | 类别 | 概率 |
|---|
| Top-1 | class_437 | 0.1777 |
| Top-2 | class_980 | 0.0694 |
| Top-3 | class_908 | 0.0413 |
| Top-4 | class_976 | 0.0335 |
| Top-5 | class_812 | 0.0300 |
- 输出 shape: [1, 1000]
- 输入 shape: [1, 3, 600, 600]
4. 精度验证
对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|
| max_abs_error | 0.010975 |
| mean_abs_error | 0.001089 |
| relative_error | 0.2071% |
| cosine_similarity | 0.999998 |
| threshold | 1.0% |
| 结果 | PASS |
- CPU Top-1: class_437
- NPU Top-1: class_437
- CPU Top-5: class_437, class_980, class_908, class_976, class_812
- NPU Top-5: class_437, class_980, class_908, class_976, class_812
- Top-1 match: True
- Top-5 match: True
5. 性能参考
| 指标 | 数值 |
|---|
| avg latency | 32.16 ms |
| min latency | 32.13 ms |
| max latency | 32.23 ms |
| p50 | 32.15 ms |
| p90 | 32.23 ms |
| p95 | 32.23 ms |
| throughput | 31.10 images/sec |
- 输入: [1, 3, 600, 600]
- 预热: 2 次,正式: 10 次
6. 精度评测说明
本项目包含单图 smoke consistency 验证,非官方 ImageNet 完整验证集评测。详细指标见第 4 节。
7. 自验证截图
见 screenshots/self_verification.png
8. 日志文件
logs/inference.log — 推理结果
logs/accuracy.log — 精度验证结果
logs/benchmark.log — 性能基准测试结果
logs/env_check.log — 环境检查
9. 注意事项
- EfficientNet-B7 使用 600x600 原生输入分辨率,显存占用较大
- 使用 ModelScope 下载权重,不使用 HuggingFace 直连
- 不提交权重文件(*.safetensors, *.bin)
- #NPU
10. 标签
#NPU #Ascend #Ascend910 #EfficientNet #ImageClassification #timm