本项目将 ModelScope 图片分类模型 timm/davit_base.msft_in1k 适配为可在单卡昇腾 NPU(Ascend910)上运行的提交工程。
timm/davit_base.msft_in1k)timm.create_model(pretrained=False) + ModelScope snapshot_download 本地权重| 项目 | 版本/型号 |
|---|---|
| NPU | Ascend910 |
| npu-smi | 25.5.2 |
| PyTorch | 2.x |
| torch_npu | 可用 |
详见 logs/env_check.log。
pip install -r requirements.txt
python inference.py推理脚本通过 model_utils.py 统一加载模型,自动完成:
timm.create_model(..., pretrained=False) 创建结构.safetensors 权重timm.data.resolve_model_data_config 获取预处理配置npu:0 上执行真实推理运行 python eval_accuracy.py 对比 CPU 与 NPU 推理结果:
| 指标 | 结果 |
|---|---|
| Logits max diff | 2.83e-02 |
| Prob max diff | 2.20e-03 |
| CPU Top-1 | class_425 |
| NPU Top-1 | class_425 |
| Top-1 match | True |
| Top-5 match | True |
说明:此验证为 smoke consistency 测试,非官方 ImageNet 精度评测。
运行 python benchmark.py(预热 2 次,正式 10 次):
| 指标 | 数值 |
|---|---|
| avg | 15.46 ms |
| min | 14.93 ms |
| max | 15.89 ms |
| p50 | 15.49 ms |
| p90 | 15.78 ms |
| p95 | 15.84 ms |
| images/sec | 64.69 |
详见 logs/benchmark.log。
本项目未进行完整的 ImageNet-1k 官方精度评测,仅提供了 CPU/NPU 一致性 smoke 测试。如需完整精度评测,请使用标准 ImageNet 验证集运行 timm 官方评估脚本。
关键验证信息已汇总至 screenshots/self_verification.txt 与 screenshots/self_verification.png。
| 文件 | 内容 |
|---|---|
logs/env_check.log | NPU 环境信息 |
logs/inference.log | NPU 推理输出与 Top-5 结果 |
logs/accuracy.log | CPU/NPU 一致性对比 |
logs/benchmark.log | 性能基准测试 |
logs/stage0.log | 阶段 0 模型可用性验证 |
logs/paths.txt | 本地模型目录与权重路径 |
.gitignore 已排除 *.bin、*.safetensors、*.pth、*.pt、*.ckpt、*.onnx 等权重文件。snapshot_download 获取,timm.create_model 使用 pretrained=False。torch_npu。#NPU