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

timm/convnext_large.fb_in22k_ft_in1k on Ascend NPU

1. 简介

本项目将 ModelScope 图片分类模型 timm/convnext_large.fb_in22k_ft_in1k 适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。

  • 模型来源:ModelScope / timm
  • 模型类型:ConvNeXt Large 图片分类
  • 输入尺寸:224x224
  • 类别数:1000(ImageNet-1k)
  • 权重格式:model.safetensors / pytorch_model.bin
  • 加载方式:timm.create_model(..., pretrained=False) + 本地权重加载(不触发 HuggingFace 自动下载)

注意:该模型没有提供 id2label 映射文件,推理结果使用 class_0、class_1 ... class_999 作为占位标签。实际部署时请根据业务场景替换为真实标签。

2. 验证环境

  • NPU 设备:Ascend910B4
  • CANN 版本:8.5.1
  • PyTorch:2.x + torch_npu
  • timm:最新版
  • modelscope:最新版

环境检查日志见 logs/env_check.log。

3. 推理运行

pip install -r requirements.txt
python inference.py

推理脚本 inference.py 会:

  1. 通过 modelscope.snapshot_download 下载模型到本地缓存(已缓存则跳过)
  2. 使用 timm.create_model(..., pretrained=False) 创建模型结构
  3. 从本地缓存加载 model.safetensors 权重
  4. 在 npu:0 上执行真实推理
  5. 输出 Top-5 预测结果到 logs/inference.log
Model: timm/convnext_large.fb_in22k_ft_in1k
Local weights: /opt/atomgit/.cache/modelscope/hub/models/timm/convnext_large___fb_in22k_ft_in1k/model.safetensors
Missing keys: 0, Unexpected keys: 0
Input shape: [1, 3, 224, 224]
Output shape: [1, 1000]
Top-5 predictions (no id2label available, using class_x labels):
  class_405: 0.138457
  class_657: 0.129301
  class_701: 0.112414
  class_895: 0.088799
  class_974: 0.078891

4. 精度验证

python eval_accuracy.py

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

指标数值
max_abs_error0.035369
mean_abs_error0.005895
relative_error0.6786%
cosine_similarity0.999982
threshold1.0%
结果PASS
  • CPU Top-1 与 NPU Top-1 类别一致
  • CPU Top-5 与 NPU Top-5 类别一致

5. 性能参考

python benchmark.py

在 Ascend910B4 单卡、batch_size=1 条件下:

指标数值
平均延迟25.86 ms
最小延迟22.45 ms
最大延迟35.03 ms
P5023.12 ms
P9031.79 ms
P9533.41 ms
吞吐38.67 images/sec

详见 logs/benchmark.log。

6. 精度评测

本项目未在完整 ImageNet-1k 验证集上运行官方精度评测,仅提供了 CPU/NPU smoke 一致性验证。如需完整精度评测,请准备 ImageNet-1k 数据集并运行标准 eval 脚本。

7. 自验证截图

自验证摘要见 screenshots/self_verification.txt,可视化截图见 screenshots/self_verification.png。

8. 日志文件

文件内容
logs/env_check.logNPU 环境信息
logs/inference.logNPU 推理输出与 Top-5 结果
logs/prediction.txt预测结果副本
logs/accuracy.logCPU vs NPU 一致性对比
logs/benchmark.logNPU 性能基准测试
logs/paths.txt模型本地路径记录

9. 注意事项

  1. 不提交权重:*.safetensors、*.bin、*.pth、*.pt、*.ckpt、*.onnx 已加入 .gitignore,不会提交到仓库。
  2. ModelScope 主下载:默认通过 ModelScope snapshot_download 获取模型,不依赖 HuggingFace Hub 直连。
  3. 预处理:使用 timm.data.resolve_model_data_config + timm.data.create_transform 自动构建与模型配套的预处理管道。
  4. 清理产物:fusion_result.json 和 kernel_meta/ 已在最终检查阶段删除。

10. 标签

#NPU #Ascend #timm #ConvNeXt #image-classification