本工程将 timm/deit3_small_patch16_224.fb_in22k_ft_in1k 图片分类模型适配为可在单卡昇腾 NPU(Ascend910B)上运行的提交工程。
模型类型:DeiT3 Small,基于 Vision Transformer,输入分辨率 224x224,patch size 16,在 ImageNet-22k 上预训练并在 ImageNet-1k 上微调,输出 1000 类分类 logits。
| 项目 | 版本/型号 |
|---|---|
| NPU 型号 | Ascend910B4 |
| CANN 版本 | 8.5.1 |
| Python | 3.11.14 |
| torch | 2.9.0+cpu |
| torch_npu | 2.9.0.post1+gitee7ba04 |
| torchvision | 0.24.0 |
| transformers | 4.57.6 |
| timm | 1.0.27 |
| modelscope | 1.35.3 |
| safetensors | 0.7.0 |
pip install -r requirements.txtpython3 inference.pyinference.py:单图 NPU 推理,输出 Top-5 预测结果eval_accuracy.py:CPU vs NPU 一致性对比benchmark.py:NPU 性能基准测试logs/inference.log:推理日志logs/accuracy.log:精度对比日志logs/benchmark.log:性能测试日志logs/prediction.txt:预测结果摘要torch.npu.is_available(): True
torch.npu.device_count(): 1
torch.npu.get_device_name(0): Ascend910B4| 排名 | 标签 | 类别 ID | 概率 |
|---|---|---|---|
| 1 | class_975 | 975 | 0.124928 |
| 2 | class_347 | 347 | 0.064703 |
| 3 | class_80 | 80 | 0.044776 |
| 4 | class_970 | 970 | 0.039502 |
| 5 | class_802 | 802 | 0.027359 |
注意:该模型无官方 id2label 映射文件,使用 class_x 作为标签占位。
基于单卡 Ascend910B4,batch_size=1,输入 224x224。
| 指标 | 数值 |
|---|---|
| avg | 11.04 ms |
| min | 10.46 ms |
| max | 12.99 ms |
| p50 | 10.72 ms |
| p90 | 12.99 ms |
| p95 | 12.99 ms |
| images/sec | 90.59 |
CPU vs NPU Smoke 一致性对比结果:
| 指标 | 数值 |
|---|---|
| max_abs_diff (logits) | 1.072407e-02 |
| mean_abs_diff (logits) | 1.950251e-03 |
| prob_max_diff | 3.703535e-04 |
| Top-1 match | True |
| Top-5 match | True |
注意:此验证为 CPU/NPU smoke consistency 测试,非官方 ImageNet 数据集精度。
见 screenshots/self_verification.png 和 screenshots/self_verification.txt。
logs/env_check.log:环境检查日志logs/model_check.log:模型下载与 dummy forward 日志logs/inference.log:推理日志logs/inference_run.log:推理运行输出logs/accuracy.log:精度对比日志logs/accuracy_run.log:精度对比运行输出logs/benchmark.log:性能测试日志logs/benchmark_run.log:性能测试运行输出logs/prediction.txt:预测结果logs/run_status.log:脚本运行状态(exit code)modelscope snapshot_download。timm.create_model(pretrained=False) + ModelScope 本地权重加载,未使用 timm pretrained=True,未触发 HuggingFace Hub 下载。model.safetensors(84.2 MB),由 ModelScope 本地加载。timm.data.resolve_model_data_config + create_transform 完成官方预处理。https://picsum.photos/400/300 下载,如网络不可用则为占位图。npu:0(Ascend910B4)。#NPU