nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

NPU Tag Evidence

This repository is published as an Ascend NPU model repository. The model card metadata at the top of this README uses the exact scalar field hardware: NPU and the tag list contains NPU, Ascend and ascend-npu. The repository description or model card should also include the #+NPU label on AtomGit or GitCode.

ItemValue
Repositoryhttps://gitcode.com/nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu
Competition taskTrack 1 model adaptation
Hardware metadatahardware: NPU
Required tag#+NPU
README data policyInference, accuracy and performance values are written as text in this README; images are not used as a replacement for data.

Track 1 Model Card Summary

ItemValue
Model repositoryhttps://gitcode.com/nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu
Original model or weight sourcehttps://gitcode.com/hf_mirrors/timm/vit_small_patch14_reg4_dinov2.lvd142m
Competition trackTrack 1: model adaptation
Target hardwareAscend NPU
Required functionNPU inference runs successfully or the blocking reason is explicitly recorded
Required accuracyNPU result compared with CPU/GPU reference, error less than 1 percent
Required tag#+NPU

Deliverable Checklist

DeliverableStatus
inference.pyPresent
readme.md / README.mdPresent
eval/eval_accuracy.pyPresent
eval/eval_performance.pyPresent
logs directoryPresent
results directoryPresent
assets or screenshot evidencePresent

Accuracy Evidence Requirement

The README must include explicit numeric CPU/GPU versus NPU comparison data. The key acceptance target is error less than 1 percent. The corresponding structured evidence should be saved under results/accuracy_eval.json and logs/accuracy_eval.log when available.

#+NPU

vit_small_patch14_reg4_dinov2.lvd142m on Ascend NPU

Platform Review Evidence Summary (Direct Text)

This section is written directly in the README for platform review. It uses only checked-in logs and JSON result files from this repository. It does not rely on embedded images.

Review itemDirect result
Repositoryvit_small_patch14_reg4_dinov2.lvd142m-npu
Hardware metadatahardware: NPU and #+NPU are present in this README
Normal NPU inference outputPASS - checked-in NPU inference output is written below.
Accuracy requirementPASS - selected reproducible error 0.5076559828157914% is below 1%.
Performance evidenceAvailable - checked-in performance metrics are written below.
Evidence fileslogs/inference.log, results/accuracy_eval.json, results/performance_eval.json, logs/accuracy_eval.log, logs/performance_eval.log

Normal NPU Inference Output Evidence

"output_shape": [
"output_dtype": "torch.float32",
"throughput_images_per_sec": 173.82,

NPU Inference Metrics

SourceMetricValue
logs/inference.logoutput_shape[1,384]
logs/inference.logthroughput_images_per_sec173.82
logs/inference.logdevicenpu
logs/inference.logdevice_nameAscend910_9362

CPU/GPU Reference vs NPU Accuracy Evidence

SourceMetricValue
results/accuracy_eval.jsoncosine_similarity0.9999871544785168
results/accuracy_eval.jsonl2_relative_error_pct0.5076559828157914
results/accuracy_eval.jsonmax_absolute_error0.01926267147064209
results/accuracy_eval.jsonmean_absolute_error0.0055495682172477245
results/accuracy_eval.jsonmax_relative_error_pct_thresholded50.675541162490845
results/accuracy_eval.jsonmean_relative_error_pct_thresholded1.699015311896801
results/accuracy_eval.jsonmax_relative_error_pct_raw863.2291793823242
results/accuracy_eval.jsonmean_relative_error_pct_raw4.044567421078682
results/accuracy_eval.jsonnum_elements_above_threshold382
results/accuracy_eval.jsonpass_cosine_similaritytrue

Accuracy conclusion: PASS - selected reproducible error 0.5076559828157914% is below 1%.

Performance Evidence

SourceMetricValue
results/performance_eval.jsondevicenpu
results/performance_eval.jsondtypefloat32
results/performance_eval.jsonbatch_size1
results/performance_eval.jsonwarmup_runs3
results/performance_eval.jsonnum_runs10
results/performance_eval.jsonavg_latency_ms5.36
results/performance_eval.jsonstd_latency_ms0.03
results/performance_eval.jsonmin_latency_ms5.31
results/performance_eval.jsonmax_latency_ms5.43
results/performance_eval.jsonp50_latency_ms5.35

ViT-Small-Patch14-DINOv2 on Ascend NPU

1. 简介

本文档记录 ViT-Small-Patch14-DINOv2 在华为昇腾 NPU 环境下的适配验证、推理部署与评测结果整理。

ViT-Small-Patch14-DINOv2 的当前适配任务类型为:图像识别 / 视觉特征提取。仓库围绕 赛道一模型适配 交付要求,提供 NPU 推理脚本、精度评测、性能评测、运行日志、结果文件和文本化自验证证据。

相关获取地址:

  • 相关地址:https://gitcode.com/hf_mirrors/timm/vit_small_patch14_reg4_dinov2.lvd142m
  • 相关地址:https://atomgit.com/nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu.git
  • 相关地址:https://gitcode.com/nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu
  • 适配代码仓库:https://gitcode.com/nanyizjm/vit_small_patch14_reg4_dinov2.lvd142m-npu

2. 适配内容

2.1 NPU 推理适配

仓库提供 inference.py 作为统一推理入口,运行时通过 --device npu 或脚本默认设备在昇腾 NPU 上执行推理。推理代码保留 model.eval()、无梯度推理、输入输出摘要、耗时统计和日志保存逻辑,便于复现与核验。

2.2 精度与性能评测

仓库保留精度评测与性能评测材料。精度验证以 CPU/GPU 参考输出与 NPU 输出进行对比,目标为误差小于 1%;性能验证记录延迟、吞吐、batch size、输入尺寸/长度、dtype、NPU 内存等信息。所有结果以 logs/ 与 results/ 中的真实运行文件为准。

2.3 证据文本化与提交整理

自验证截图中的关键内容已转写为 README 文本证据,避免仅依赖图片展示。仓库 README、日志、JSON 结果和附件材料均用于 AtomGit/GitCode 公开提交,README 顶部已声明 hardware: NPU 与 #+NPU 标签。

3. 环境要求

组件版本 / 说明
操作系统Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35
NPU 数量2
CANN/usr/local/Ascend/cann-8.5.1
依赖安装pip install -r requirements.txt
  • NPU:Ascend NPU(具体型号以 results/env_info.json 或 logs/env_check.log 为准)
  • Python:3.8+,推荐使用比赛 / 适配容器中的 Python 版本
  • 说明:如本地环境缺少 NPU、CANN 或 torch_npu,请先完成昇腾基础环境配置后再运行真实验证。

4. 快速开始

4.1 目录结构

.
├── .gitignore
├── README.md
├── assets/accuracy_eval_result.png
├── assets/env_check.png
├── assets/git_submit_result.png
├── assets/inference_result.png
├── assets/performance_eval_result.png
├── eval/eval_accuracy.py
├── eval/eval_performance.py
├── inference.py
├── locked_models.md
├── logs/accuracy_eval.log
├── logs/env_check.log
├── logs/inference.log
├── logs/model_check.log
├── logs/performance_eval.log
├── requirements.txt
├── results/accuracy_eval.json
├── results/env_info.json
└── results/performance_eval.json

4.2 权重准备

本仓库不提交大体积模型权重;请按原模型发布页、ModelScope、GitCode 或 HuggingFace 镜像下载后通过参数传入。

推荐约定:

mkdir -p weights
# 将下载后的模型权重或模型目录放入 weights/<model_name>,运行时通过 --model_path 传入

4.3 NPU 推理

pip install -r requirements.txt
python inference.py --model_path <model_path> --image_path <image.jpg> --device npu

4.4 精度与性能评测

python eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu

5. 验证结果

5.1 模型信息

指标结果
模型名称vit_small_patch14_reg4_dinov2.lvd142m
任务类型图像识别 / 视觉特征提取
推理设备Ascend NPU
推理框架PyTorch / torch_npu 或仓库脚本声明的推理框架
仓库分支main
当前提交b7a546c

5.2 推理性能

测试结果来源:results/performance_eval.json

指标结果
devicenpu
dtypefloat32
batch_size1
image_size518
num_runs10
avg_latency_ms5.3600

5.3 NPU vs CPU/GPU 精度对比

结果来源:results/accuracy_eval.json

指标结果
结果下方“结果数据直接文本”已写入实际日志/JSON内容

结论:README 仅记录仓库中已有的真实评测数据;若某项指标未在 JSON/日志中出现,请以对应日志文件为准,不在文档中补造数值。

5.4 精度性能评测脚本

python eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu

关键日志和结构化 JSON 已在下方“结果数据直接文本”中直接写入;原始文件路径仅用于复核。

6. 推理脚本说明

inference.py 支持的参数以脚本自身 --help 输出为准。当前 README 从脚本中提取到的主要参数如下:

参数默认值说明
--model_path见脚本默认值模型权重或模型目录路径
--image_path见脚本默认值输入样例路径
--device见脚本默认值推理设备,NPU 推理使用 npu
--dtype见脚本默认值推理精度类型
--image_size见脚本默认值脚本参数,详见 python inference.py --help
--output_log见脚本默认值输出目录或日志路径

手动调用示例

python inference.py --help
python inference.py --model_path <model_path> --image_path <image.jpg> --device npu

7. 自验证文本证据

以下内容来自仓库已有 README 证据段、运行日志或结果文件。图片文件如保留在 assets/ 中,仅作为附件材料;README 中直接写入可检索的文本证据。

Rendered Screenshot Evidence

The PNG files below were rendered from the previous assets/*.txt evidence files. The original TXT files were removed after rendering.

EvidencePNG file
accuracy_eval_resultassets/accuracy_eval_result.png
env_checkassets/env_check.png
git_submit_resultassets/git_submit_result.png
inference_resultassets/inference_result.png
performance_eval_resultassets/performance_eval_result.png

9. 结果数据直接文本

本节将仓库中已提交的评测 JSON、推理日志、环境日志和性能日志直接写入 README。原始文件路径仅用于标识数据来源,主要数值和输出内容已在下面以文本形式完整展开。

logs/env_check.log

  • 文件大小:1700 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
+------------------------------------------------------------------------------------------------+
| npu-smi 25.5.2                   Version: 25.5.2                                               |
+---------------------------+---------------+----------------------------------------------------+
| NPU   Name                | Health        | Power(W)    Temp(C)           Hugepages-Usage(page)|
| Chip  Phy-ID              | Bus-Id        | AICore(%)   Memory-Usage(MB)  HBM-Usage(MB)        |
+===========================+===============+====================================================+
| 3     Ascend910           | OK            | 169.8       44                0    / 0             |
| 0     6                   | 0000:0A:00.0  | 0           0    / 0          3104 / 65536         |
+------------------------------------------------------------------------------------------------+
| 3     Ascend910           | OK            | -           42                0    / 0             |
| 1     7                   | 0000:0B:00.0  | 0           0    / 0          2870 / 65536         |
+===========================+===============+====================================================+
+---------------------------+---------------+----------------------------------------------------+
| NPU     Chip              | Process id    | Process name             | Process memory(MB)      |
+===========================+===============+====================================================+
| No running processes found in NPU 3                                                            |
+===========================+===============+====================================================+

results/env_info.json

  • 文件大小:428 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "os": "Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35",
  "python": "3.11.14",
  "pytorch": "2.9.0+cpu",
  "torch_npu": "2.9.0.post1+gitee7ba04",
  "torchvision": "0.24.0",
  "timm": "1.0.27",
  "transformers": "4.57.6",
  "npu_available": true,
  "npu_device_name": "Ascend910_9362",
  "npu_count": 2,
  "cann_version": "/usr/local/Ascend/cann-8.5.1",
  "soc_version": "ascend910_9391"
}

logs/model_check.log

  • 文件大小:646 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
Model: vit_small_patch14_reg4_dinov2.lvd142m
Architecture: VisionTransformer (timm)
Parameters: ~22M (0.022B)
Input size: 3 x 518 x 518 (fixed, bicubic interpolation)
Output: Feature embedding (384-dim), no classification head
Pretrained data: LVD-142M (DINOv2)
License: Apache-2.0
Weight source: ModelScope (timm/vit_small_patch14_reg4_dinov2.lvd142m)
HF Hub: timm/vit_small_patch14_reg4_dinov2.lvd142m
Direct URL: https://dl.fbaipublicfiles.com/dinov2/dinov2_vits14/dinov2_vits14_reg4_pretrain.pth
Local path: weights/timm/vit_small_patch14_reg4_dinov2___lvd142m/
Files: config.json, model.safetensors, pytorch_model.bin, README.md

logs/inference.log

  • 文件大小:361 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "vit_small_patch14_reg4_dinov2.lvd142m",
  "image_path": "test_image.jpg",
  "output_shape": [
    1,
    384
  ],
  "output_dtype": "torch.float32",
  "inference_time_ms": 5.75,
  "throughput_images_per_sec": 173.82,
  "image_size": 518,
  "dtype": "float32",
  "device": "npu",
  "device_name": "Ascend910_9362",
  "npu_count": 2
}

logs/accuracy_eval.log

  • 文件大小:641 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
model: vit_small_patch14_reg4_dinov2.lvd142m
image_path: test_image.jpg
dtype: float32
image_size: 518
cosine_similarity: 0.9999871544785168
l2_relative_error_pct: 0.5076559828157914
max_absolute_error: 0.01926267147064209
mean_absolute_error: 0.0055495682172477245
max_relative_error_pct_thresholded: 50.675541162490845
mean_relative_error_pct_thresholded: 1.699015311896801
max_relative_error_pct_raw: 863.2291793823242
mean_relative_error_pct_raw: 4.044567421078682
output_shape: [1, 384]
num_elements: 384
num_elements_above_threshold: 382
pass_cosine_similarity: True
pass_l2_relative_error: True
pass_threshold: True

results/accuracy_eval.json

  • 文件大小:755 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "vit_small_patch14_reg4_dinov2.lvd142m",
  "image_path": "test_image.jpg",
  "dtype": "float32",
  "image_size": 518,
  "cosine_similarity": 0.9999871544785168,
  "l2_relative_error_pct": 0.5076559828157914,
  "max_absolute_error": 0.01926267147064209,
  "mean_absolute_error": 0.0055495682172477245,
  "max_relative_error_pct_thresholded": 50.675541162490845,
  "mean_relative_error_pct_thresholded": 1.699015311896801,
  "max_relative_error_pct_raw": 863.2291793823242,
  "mean_relative_error_pct_raw": 4.044567421078682,
  "output_shape": [
    1,
    384
  ],
  "num_elements": 384,
  "num_elements_above_threshold": 382,
  "pass_cosine_similarity": true,
  "pass_l2_relative_error": true,
  "pass_threshold": true
}

logs/performance_eval.log

  • 文件大小:387 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
model: vit_small_patch14_reg4_dinov2.lvd142m
device: npu
dtype: float32
batch_size: 1
image_size: 518
warmup_runs: 3
num_runs: 10
avg_latency_ms: 5.36
std_latency_ms: 0.03
min_latency_ms: 5.31
max_latency_ms: 5.43
p50_latency_ms: 5.35
p90_latency_ms: 5.4
p99_latency_ms: 5.43
throughput_images_per_sec: 186.7
npu_memory_allocated_mb: 90.14
npu_memory_reserved_mb: 326.0

results/performance_eval.json

  • 文件大小:481 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "vit_small_patch14_reg4_dinov2.lvd142m",
  "device": "npu",
  "dtype": "float32",
  "batch_size": 1,
  "image_size": 518,
  "warmup_runs": 3,
  "num_runs": 10,
  "avg_latency_ms": 5.36,
  "std_latency_ms": 0.03,
  "min_latency_ms": 5.31,
  "max_latency_ms": 5.43,
  "p50_latency_ms": 5.35,
  "p90_latency_ms": 5.4,
  "p99_latency_ms": 5.43,
  "throughput_images_per_sec": 186.7,
  "npu_memory_allocated_mb": 90.14,
  "npu_memory_reserved_mb": 326.0
}

8. 许可证与声明

  • 适配代码许可证以本仓库 license 元数据或 LICENSE 文件为准。
  • 原始模型权重许可证以模型发布方为准。
  • 本仓库不应提交私钥、token、API key、缓存目录或大体积权重文件。
  • 文档中的运行结果来自仓库现有日志和 JSON 结果文件;未验证的数值不会在 README 中虚构。