模型: owkin/phikon-v2 — DINOv2 ViT-L/16 病理基础模型 (303M参数)
适配目标: 在华为昇腾 Ascend910B4 NPU 上运行推理,精度误差 < 1%
phikon-v2-npu/
├── scripts/
│ ├── npu_adapter.py # NPU推理适配器
│ └── verify_accuracy.py # 精度验证 (CPU vs NPU)
├── model_files/ # 模型权重 (从 hf-mirror.com 下载)
├── test_results/ # 测试结果
├── download_model.sh # 模型下载脚本
├── run_npu_inference.sh # NPU推理运行脚本
└── run_accuracy_test.sh # 精度验证运行脚本| 项目 | 结果 |
|---|---|
| 设备 | Ascend910B4 (29.5 GB) |
| 推理精度 | float16 |
| 推理延迟 | 25.82 ms/image |
| 吞吐量 | 38.7 images/s |
| 余弦相似度 | 0.999997 (CLS token) |
| 最大相对误差 | 0.62% ( < 1% ✅) |
| 平均相对误差 | 0.04% ( < 0.5% ✅) |
from PIL import Image
from scripts.npu_adapter import load_model, preprocess_image, run_inference
model, processor, device, dtype = load_model(use_fp16=True)
image = Image.open("test.png")
pixel_values = preprocess_image(image, processor)
outputs = run_inference(model, pixel_values, device, dtype)
cls_token = outputs["cls_token"] # [1, 1024]bash run_accuracy_test.shDinov2Model,无需代码修改即可在 NPU 运行BitImageProcessor 用于图像预处理