g
gyccc/timm-edgenext_small.usi_in1k-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

timm/edgenext_small.usi_in1k on Ascend NPU

1. 简介

本项目将 timm/edgenext_small.usi_in1k 图片分类模型适配到单卡昇腾 NPU (Ascend910) 运行。

  • 模型来源: ModelScope timm/edgenext_small.usi_in1k
  • 任务类型: 图像分类 (Image Classification)
  • 输入尺寸: 3 x 256 x 256
  • 输出类别: 1000 (ImageNet-1k)
  • 适配方式: timm.create_model(pretrained=False) 创建模型结构,通过 ModelScope snapshot_download 下载本地权重并加载,不使用 HuggingFace 自动下载。

2. 验证环境

项目版本/信息
NPUAscend910
npu-smi25.5.2
PyTorch NPUtorch_npu available, device=Ascend910_9362
驱动/固件Healthy

完整环境信息见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

推理脚本使用 model_utils.py 统一加载模型,通过 timm.data.resolve_model_data_config 自动解析预处理配置,在 npu:0 上执行真实推理。

推理结果示例:

Input shape: torch.Size([1, 3, 256, 256])
Output shape: torch.Size([1, 1000])
Top-5 predictions:
  class_590: 0.4976
  class_681: 0.1616
  class_620: 0.0531
  class_810: 0.0272
  class_673: 0.0250

4. 精度验证

python eval_accuracy.py

对单张测试图片进行 CPU 与 NPU 一致性验证:

指标数值
max_abs_error0.010764
mean_abs_error0.002031
relative_error0.2005%
cosine_similarity0.999998
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标结果
Warmup2 次
正式测试10 次
平均延迟6.88 ms
P50 延迟6.89 ms
P95 延迟7.08 ms
吞吐145.34 images/sec

6. 精度评测

本项目未在完整 ImageNet-1k 验证集上运行,仅提供 CPU-NPU 一致性 smoke 测试。如需完整精度,请使用 ImageNet-1k val 集配合 timm 官方验证流程。

7. 自验证截图

关键验证内容已整理至 screenshots/self_verification.txt 与 screenshots/self_verification.png。

8. 日志文件

文件内容
logs/env_check.logNPU 环境信息
logs/inference.log推理结果
logs/accuracy.logCPU-NPU 精度对比
logs/benchmark.log性能基准测试
logs/paths.txt模型与权重路径

9. 注意事项

  1. 权重加载方式: 必须使用 timm.create_model(..., pretrained=False),再通过 modelscope.snapshot_download 获取本地权重路径并手动加载。严禁使用 pretrained=True 触发 HuggingFace 自动下载。
  2. 权重不提交: 项目 .gitignore 已排除 .bin, .safetensors, .pth, .pt, .ckpt, .onnx 等权重文件,请勿将权重提交到 Git 仓库。
  3. NPU 独占: 推理脚本默认使用 npu:0,请确保该设备可用。

10. 标签

#NPU