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

timm/deit3_small_patch16_384.fb_in22k_ft_in1k on Ascend NPU

1. 简介

本工程将 timm/deit3_small_patch16_384.fb_in22k_ft_in1k 图片分类模型适配到单卡昇腾 NPU(Ascend910B)上运行。

  • 模型来源:ModelScope(timm/deit3_small_patch16_384.fb_in22k_ft_in1k)
  • 模型类型:Image Classification(ImageNet-1k,1000 类)
  • 输入分辨率:384×384
  • 适配方式:timm.create_model(pretrained=False) + ModelScope snapshot_download 本地权重加载
  • 预处理:timm.data.resolve_model_data_config + create_transform 自动生成

2. 验证环境

项目版本/型号
NPUAscend910
CANNnpu-smi 25.5.2
PyTorch2.9.0+cpu
torch_npu可用
timm最新版

详细环境信息见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py
  • 使用 model_utils.py 统一加载模型和预处理
  • 真实在 npu:0 上推理
  • 输入 shape:[1, 3, 384, 384]
  • 输出 shape:[1, 1000]

推理结果示例(Top-5):

1. class_562: 0.1253
2. class_727: 0.0534
3. class_566: 0.0480
4. class_577: 0.0408
5. class_818: 0.0379

完整日志见 logs/inference.log。

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.016304
mean_abs_error0.003369
relative_error0.3517%
cosine_similarity0.999994
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py
指标数值
设备npu:0
输入[1, 3, 384, 384]
Warmup2 次
正式运行10 次
Avg latency5.59 ms
Min latency5.51 ms
Max latency5.70 ms
P50 latency5.59 ms
P90 latency5.70 ms
P95 latency5.70 ms
Throughput178.75 images/sec

完整日志见 logs/benchmark.log。

6. 精度评测

本工程未在完整 ImageNet-1k 验证集上运行官方精度评测,仅提供单图 smoke consistency 验证作为参考。如需完整精度评测,请使用 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性能基准测试

9. 注意事项

  1. 权重通过 ModelScope snapshot_download 下载,不使用 HuggingFace 直连下载。
  2. 模型创建时使用 pretrained=False,再通过本地路径加载权重,避免自动下载。
  3. 预处理使用 timm.data.resolve_model_data_config 自动解析模型对应的数据配置,无需手动设置 mean/std/interpolation。
  4. 本仓库不包含模型权重文件(.bin / .safetensors / .pth 等已被 .gitignore 排除)。
  5. 如需复现,请先执行 pip install -r requirements.txt,首次运行会自动下载权重到本地缓存。

10. 标签

#NPU #Ascend #timm #image-classification