gcresnext50ts.ch_in1k 是一个基于 gcresnext50ts 架构的图像分类模型,在 ImageNet-1K 数据集上预训练,支持 1000 类分类任务。
| 组件 | 版本 |
|---|---|
| CANN | 8.5.1 |
| torch | 2.9.0 |
| torch-npu | 2.9.0.post1 |
| timm | 1.0.27 |
| Python | 3.11.14 |
| NPU | Ascend 910B (64GB HBM) |
| OS | Linux 5.10.0 aarch64 |
pip install torch torch-npu timm numpy Pillowfrom modelscope.hub.snapshot_download import snapshot_download
snapshot_download('timm/gcresnext50ts.ch_in1k', cache_dir='./model')python inference.py --model_path ./model --device npupython inference.py --model_path ./model --device cpupython compare_cpu_npu.pypython inference.py --model_path ./model --device npu --benchmark --num_runs 20本模型基于 PyTorch 框架,使用 torch_npu 完成 Ascend NPU 适配:
torch_npu 替代 CUDA 后端.to(npu) 将参数迁移至 NPUtorch.npu.synchronize() 确保同步在 CPU 和 Ascend NPU 上使用相同随机输入分别推理,对比输出 logits 的差异。 共进行 5 组测试,每组使用不同随机种子。
| 测试 | CPU Top-1 | NPU Top-1 | Top-5 重叠 | MAE | 相对误差 | 余弦相似度 | 状态 |
|---|---|---|---|---|---|---|---|
| 1 | 21 | 21 | 5/5 | 4.1551e-04 | 0.0098% | 0.99999976 | ✅ |
| 2 | 21 | 21 | 5/5 | 3.5327e-04 | 0.0079% | 0.99999985 | ✅ |
| 3 | 21 | 21 | 5/5 | 2.5379e-04 | 0.0059% | 0.99999992 | ✅ |
| 4 | 21 | 21 | 5/5 | 2.9359e-04 | 0.0068% | 0.99999983 | ✅ |
| 5 | 21 | 21 | 5/5 | 3.1415e-04 | 0.0075% | 0.99999992 | ✅ |
| 指标 | 数值 |
|---|---|
| 测试数 | 5 |
| Top-1 匹配率 | 5/5 |
| 平均 MAE | 3.26e-04 |
| 平均相对误差 | 0.0076% |
| 平均余弦相似度 | 0.99999986 |
精度测试结论:NPU 与 CPU 推理结果误差为 0.0076%,符合精度误差小于 1% 的要求。
| 设备 | 平均推理时间 |
|---|---|
| CPU | 232.4ms |
| NPU (Ascend 910B) | 11.0ms |
NPU 推理速度相比 CPU 提升显著,加速比约为 21.1x。

图:模型在昇腾 NPU 上推理运行的终端输出
├── model/ # 模型权重文件
│ ├── config.json
│ ├── model.safetensors
│ └── pytorch_model.bin
├── inference.py # NPU/CPU 推理脚本
├── compare_cpu_npu.py # CPU vs NPU 精度对比脚本
├── common_utils.py # 工具函数
├── accuracy_report.json # 精度测试报告
├── requirements.txt # 依赖列表
└── README.md # 本文档torch.npu.empty_cache()#NPU #Ascend #CV #图像分类 #timm #gcresnext50ts #昇腾
适配方: Ascend-SACT
标签: #NPU #Ascend #CV #image-classification
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。