将 timm/convnext_base.fb_in22k_ft_in1k(ConvNeXt-Base,ImageNet-22K 预训练后微调至 ImageNet-1K,1000 类)适配为单卡昇腾 NPU(Ascend910B)可运行的提交工程。
timm.create_model(pretrained=False) + 本地 safetensors 权重| 项目 | 值 |
|---|---|
| NPU | Ascend910 (9362) |
| npu-smi | 25.5.2 |
| PyTorch | torch + torch_npu |
| 模型参数量 | ~89M |
| 输入尺寸 | 3 × 224 × 224 |
pip install -r requirements.txt
python inference.py输出 Top-5 预测结果,日志保存至 logs/inference.log。
Model: timm/convnext_base.fb_in22k_ft_in1k
Input shape: torch.Size([1, 3, 224, 224])
Output shape: torch.Size([1, 1000])
Top-5 predictions:
class_883: 0.2105
class_532: 0.0839
class_435: 0.0650
class_876: 0.0600
class_738: 0.0341python eval_accuracy.py对单张测试图片进行 CPU 与 NPU 一致性验证:
| 指标 | 数值 |
|---|---|
| max_abs_error | 0.029192 |
| mean_abs_error | 0.004561 |
| relative_error | 0.6172% |
| cosine_similarity | 0.999983 |
| threshold | 1.0% |
| 结果 | PASS |
| 指标 | 值 |
|---|---|
| Avg | 14.78 ms |
| Min | 14.75 ms |
| Max | 14.83 ms |
| P50 | 14.78 ms |
| P90 | 14.83 ms |
| P95 | 14.83 ms |
| Images/sec | 67.64 |
测试条件:2 次预热 + 10 次正式,batch=1,Ascend910 单卡。
python eval_accuracy.py 执行 smoke consistency 验证,对比 CPU 与 NPU 的 logits、概率、Top-1/Top-5 是否一致。
参见 screenshots/self_verification.png。
logs/inference.log - 推理结果
logs/accuracy.log - 精度验证
logs/benchmark.log - 性能基准
logs/env_check.log - 环境信息
logs/paths.txt - 模型路径pretrained=False,完全通过本地权重加载#NPU #Ascend #image-classification #timm #convnext