本工程将 ModelScope 图片分类模型 timm/regnety_320.swag_ft_in1k 适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。
timm.create_model(..., pretrained=False) + ModelScope 本地权重加载model.safetensors (通过 snapshot_download 缓存到本地)timm.data.resolve_model_data_config + timm.data.create_transformpretrained_cfg.input_size)标签: #NPU #image-classification #timm #Ascend
| 项目 | 版本/型号 |
|---|---|
| NPU | Ascend910B4 |
| CANN | 8.5.1 |
| torch | (当前容器内置) |
| torch_npu | (当前容器内置) |
| timm | (当前容器内置) |
| modelscope | (当前容器内置) |
环境详情见 logs/env_check.log。
python inference.pymodelscope.snapshot_download 下载模型到本地缓存(不触发 HuggingFace Hub 下载)timm.create_model("regnety_320.swag_ft_in1k", pretrained=False) 构建模型结构model.safetensors 权重npu:0assets/test.jpg[1, 1000]Top-5 预测结果示例:
1. class_979 (idx=979, prob=0.777459)
2. class_970 (idx=970, prob=0.205348)
3. class_975 (idx=975, prob=0.004914)
4. class_972 (idx=972, prob=0.003080)
5. class_976 (idx=976, prob=0.001143)注意:该模型无官方 id2label 文件,标签统一显示为
class_0~class_999。
python eval_accuracy.py对比 CPU 与 NPU 推理结果的一致性:
| 指标 | 结果 |
|---|---|
| CPU 输出 shape | [1, 1000] |
| NPU 输出 shape | [1, 1000] |
| Logits max_diff | 0.00288868 |
| Logits mean_diff | 0.00064167 |
| Probability max_diff | 0.00050488 |
| Top-1 match | True (class_979) |
| Top-5 match | True |
注意:本测试为 smoke consistency 验证,非官方 ImageNet 精度评测。
python benchmark.py| 指标 | 数值 |
|---|---|
| batch_size | 1 |
| warmup | 2 |
| runs | 10 |
| avg_latency | 58.21 ms |
| min_latency | 39.19 ms |
| max_latency | 93.65 ms |
| p50_latency | 55.54 ms |
| p90_latency | 69.07 ms |
| p95_latency | 81.36 ms |
| images/sec | 17.18 |
本项目未在完整 ImageNet-1K 验证集上运行,仅提供单图 smoke consistency 验证。如需完整精度评测,请使用标准 ImageNet 验证集运行 eval_accuracy.py 的批量版本。
见 screenshots/self_verification.png 与 screenshots/self_verification.txt。
| 文件 | 说明 |
|---|---|
logs/env_check.log | NPU 环境信息 |
logs/inference.log | 推理结果日志 |
logs/prediction.txt | 预测结果文本 |
logs/accuracy.log | Smoke 精度对比日志 |
logs/benchmark.log | 性能基准日志 |
timm.create_model(..., pretrained=True),必须通过 snapshot_download + 本地 model.safetensors 加载。pretrained_cfg。class_x 形式展示。.bin / .safetensors / .pth / .pt / .ckpt / .onnx 文件,权重由用户首次运行时通过 ModelScope 自动下载到本地缓存。fusion_result.json 与 kernel_meta/,并已加入 .gitignore。