res2net50_26w_8s.in1k — 昇腾NPU适配
适用于华为昇腾NPU(Ascend910B)的图像分类模型
1. 模型概述
| 项目 | 详情 |
|---|
| 模型 | res2net50_26w_8s.in1k |
| 框架 | timm(PyTorch) |
| 任务 | 图像分类(ImageNet-1K,1000类) |
| 参数 | 48.4M |
| 来源 | ModelScope |
2. 环境
- 硬件:昇腾910B4-1
- 操作系统:Linux(aarch64)
- Python:3.10
- PyTorch:2.10.0+torch_npu
- timm:1.0.27
- CANN:8.x
3. 文件
├── model_utils.py # Model loading & preprocessing utilities
├── inference.py # Single-image inference script
├── eval_accuracy.py # CPU-NPU accuracy consistency check
├── benchmark.py # Performance benchmark script
├── assets/
│ └── test.jpg # Test image
├── logs/
│ ├── inference.log # Inference output
│ ├── accuracy.log # Accuracy comparison
│ └── benchmark.log # Performance data
└── README.md
4. 快速开始
# Install dependencies
pip install torch torch-npu timm modelscope
# Run inference
python inference.py
5. 推理结果
NPU 上的单张测试图像:
6. 精度对比:CPU 与 NPU
| 指标 | 数值 |
|---|
| max_abs_error | 0.051426 |
| mean_abs_error | 0.011955 |
| relative_error | 2.8086% |
| cosine_similarity | 0.999692 |
| Top-1 match | True |
注意:这是基于单张测试图像的快速一致性检查,并非官方的 ImageNet 完整验证集评估。
7. 性能
| 指标 | 数值 |
|---|
| Throughput | images_per_sec 32.43 images/sec |
| Device | NPU:0 (Ascend 910B) |
| Precision | FP32 |
8. 复现步骤
# 1. Download model weights
python -c "from modelscope import snapshot_download; snapshot_download('timm/res2net50_26w_8s.in1k', cache_dir='/data/modelscope_cache')"
# 2. Run inference
python inference.py
# 3. Check accuracy
python eval_accuracy.py
# 4. Run benchmark
python benchmark.py
9. 竞赛提交信息
10. 注意事项
- 模型权重不包含在本仓库中
- 权重通过
snapshot_download 从 ModelScope 下载
- 所有推理和精度检查均使用 FP32 精度
11. 标签
NPU Ascend Ascend910 torch_npu timm ImageClassification #res2net50_26w_8s.in1k