本模型为基于 FocalNet (Focal Modulation Network) 架构的大规模图像分类模型,使用 focalnet_xlarge_fl4.ms_in22k 预训练权重,支持在 CPU 和昇腾 Ascend NPU 上运行推理。
focalnet_xlarge_fl4.ms_in22ktimm/focalnet_xlarge_fl4___ms_in22ktorch>=2.0.0
torch_npu>=2.1.0
timm>=0.9.0
Pillow>=10.0.0
numpy>=1.22.0
safetensors>=0.4.0
modelscope>=1.0.0本模型已适配华为昇腾 Ascend NPU,支持在 CPU 和 NPU 两种设备上运行推理。NPU 适配要点:
torch_npu 将模型加载到昇腾 NPU 设备torch.npu.synchronize() 确保正确的性能测量python3 inference.py --device cpupython3 inference.py --device npu --model-dir /path/to/weightspython3 compare_cpu_npu.py| 指标 | 值 |
|---|---|
| 平均推理时间(10 次) | 9387.42 ms |
| 输入尺寸 | [1, 3, 384, 384] |
| Top-1 预测类别 | 14264 |
| Top-1 置信度 | 0.119 |
NPU 环境无预缓存权重时需指定模型目录。
| 指标 | 值 |
|---|---|
| Logit 最大绝对误差 | 0.01663 |
| Logit 平均绝对误差 | 0.00220 |
| 概率余弦相似度 | 0.99999 |
| Top-1 匹配率 | 100% |
| Top-5 重叠 | 5/5 |
| 结论 | PASS (误差 < 1%) |
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# CPU 推理
python3 inference.py --device cpu
# NPU 推理(需指定权重路径)
python3 inference.py --device npu --model-dir /path/to/weights推理完成后输出 top-5 预测结果,表明模型在 NPU 上推理成功。
| 文件 | 说明 |
|---|---|
| inference.py | 推理脚本,支持 CPU 和 NPU |
| compare_cpu_npu.py | CPU/NPU 精度对比脚本 |
| requirements.txt | 依赖清单 |
| README.md | 本文档 |
| cpu_output.log | CPU 推理日志 |
| npu_output.log | NPU 推理日志 |
| precision_results.txt | 精度对比结果 |