e
gcw_GSiqzzLf/focalnet_xlarge_fl4.ms_in22k-npu
模型介绍文件和版本Pull Requests讨论分析

FocalNet-XLarge (ms_in22k) - 昇腾 NPU 适配

模型介绍

本模型为基于 FocalNet (Focal Modulation Network) 架构的大规模图像分类模型,使用 focalnet_xlarge_fl4.ms_in22k 预训练权重,支持在 CPU 和昇腾 Ascend NPU 上运行推理。

  • 任务类型: 图像分类 (Image Classification)
  • 模型框架: PyTorch + timm
  • 输入尺寸: 3×384×384
  • 分类数: 21842 (ImageNet-22k)

原始模型地址

  • timm: focalnet_xlarge_fl4.ms_in22k
  • ModelScope: timm/focalnet_xlarge_fl4___ms_in22k

依赖环境

torch>=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

NPU 适配说明

本模型已适配华为昇腾 Ascend NPU,支持在 CPU 和 NPU 两种设备上运行推理。NPU 适配要点:

  1. 使用 torch_npu 将模型加载到昇腾 NPU 设备
  2. 权重从 ModelScope 缓存加载 safetensors 格式
  3. 支持 batch 推理和 top-5 预测输出
  4. 使用 torch.npu.synchronize() 确保正确的性能测量

推理命令

CPU 推理

python3 inference.py --device cpu

NPU 推理

python3 inference.py --device npu --model-dir /path/to/weights

CPU/NPU 精度对比

python3 compare_cpu_npu.py

推理结果

CPU 推理结果

指标值
平均推理时间(10 次)9387.42 ms
输入尺寸[1, 3, 384, 384]
Top-1 预测类别14264
Top-1 置信度0.119

NPU 推理结果

NPU 环境无预缓存权重时需指定模型目录。

CPU/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.pyCPU/NPU 精度对比脚本
requirements.txt依赖清单
README.md本文档
cpu_output.logCPU 推理日志
npu_output.logNPU 推理日志
precision_results.txt精度对比结果
下载使用量0