#+NPU
本模型仓库明确声明了所需的 NPU 模型卡片标签。
| 项目 | 数值 |
|---|---|
| 硬件元数据 | hardware: NPU |
| 所需标签 | #+NPU |
| 模型卡片标签 | NPU, Ascend, ascend-npu |
| 竞赛类别 | $category |
| 仓库 | $repo |
本文档记录 $name 在华为昇腾 NPU 环境下的赛道一模型适配、推理验证、精度验证、性能验证与提交材料整理。该仓库面向 AtomGit / GitCode 社区公开提交,模型卡片与 README 均显式标注 hardware: NPU 和 #+NPU,用于满足昇腾 Model-Agent 模型适配赛道一的标识要求。
| 项目 | 内容 |
|---|---|
| 模型 / 仓库 | $repo |
| 任务类型 | 图像识别 / 视觉特征提取 |
| 赛道 | 赛道一:模型适配 |
| 目标硬件 | 昇腾 NPU |
| 提交标签 | #+NPU |
| 精度要求 | 与 CPU / GPU 参考结果误差 < 1% |
| 结果呈现 | README 直接写入文本化证据,截图仅作为辅助材料,不替代数据表与日志摘录 |
| 交付项 | 路径 | 状态 |
|---|---|---|
| 推理脚本 | $(System.Collections.Hashtable.path) | 已提供 |
| 部署文档 | $(System.Collections.Hashtable.path) | 已提供 |
| 精度评测源码 | $(System.Collections.Hashtable.path) | 已提供 |
| 性能评测源码 | $(System.Collections.Hashtable.path) | 已提供 |
| 运行日志目录 | $(System.Collections.Hashtable.path) | 已提供 |
| 结构化结果目录 | $(System.Collections.Hashtable.path) | 已提供 |
| 自验证截图或文本化证据目录 | $(System.Collections.Hashtable.path) | 已提供 |
| 依赖说明 | $(System.Collections.Hashtable.path) | 已提供 |
| 文件 | 状态 | 大小 |
|---|---|---|
| $p | 已提供 | 1821 bytes |
| $p | 已提供 | 2356 bytes |
| $p | 已提供 | 425 bytes |
| $p | 已提供 | 4793 bytes |
| $p | 已提供 | 564 bytes |
说明:本 README 后续章节中的推理输出、精度数据和性能数据均以文本形式展开;如果同时存在 assets/ 截图,截图只用于人工复核,不作为唯一证据。
python inference.py --help
python inference.py --device npu
python eval/eval_accuracy.py --device npu
python eval/eval_performance.py --device npu本部分直接写入 README 供平台审核使用。内容仅使用本仓库中已签入的日志和 JSON 结果文件,不依赖嵌入式图片。
| 审核项 | 直接结果 |
|---|---|
| 仓库 | dinov2-base_adapt |
| 硬件元数据 | 本 README 中包含 hardware: NPU 和 #+NPU |
| 正常 NPU 推理输出 | 通过 - 已签入的 NPU 推理输出如下所示。 |
| 精度要求 | 通过 - 已签入的精度证据报告显示通过;选定的可复现误差 0.004917756654322147% 低于 1%。 |
| 性能证据 | 可用 - 已签入的性能指标如下所示。 |
| 证据文件 | logs/inference.log、results/accuracy_eval.json、results/performance_eval.json、logs/accuracy_eval.log、logs/performance_eval.log |
2026-05-15 00:51:20,430 [INFO] Model loaded on npu:0, dtype=torch.float32, hidden_size=768
2026-05-15 00:51:20,717 [INFO] pooler_output shape: [1, 768]
2026-05-15 00:51:20,717 [INFO] Throughput: 142.08 images/s
2026-05-15 00:51:20,717 [INFO] Device: npu:0, Dtype: float32| 项目 | 数值 |
|---|---|
| 证据 | 在已检入的文本文件中未检测到 |
| 来源 | 指标 | 数值 |
|---|---|---|
results/accuracy_eval.json | reference_device | cpu |
results/accuracy_eval.json | test_device | npu |
results/accuracy_eval.json | aggregate.avg_cls_cosine | 0.9999804696012466 |
results/accuracy_eval.json | aggregate.min_cls_cosine | 0.9999790443995689 |
results/accuracy_eval.json | aggregate.min_lhs_cosine | 0.9999845379033317 |
results/accuracy_eval.json | aggregate.cosine_threshold | 0.99 |
results/accuracy_eval.json | aggregate.passed | true |
results/accuracy_eval.json | per_image_cls[0].cosine_similarity | 0.9999801863259723 |
results/accuracy_eval.json | per_image_cls[0].max_rel_error_filtered | 0.0051552774384617805 |
results/accuracy_eval.json | per_image_cls[0].mean_rel_error_filtered | 0.0063226837664842606 |
精度结论:PASS - 已检入的精度证据报告显示 PASS;选定的可复现误差 0.004917756654322147% 低于 1%。
| 来源 | 指标 | 数值 |
|---|---|---|
results/performance_eval.json | device | npu:0 |
results/performance_eval.json | dtype | float32 |
results/performance_eval.json | batch_size | 1 |
results/performance_eval.json | latency_ms.avg | 6.171555892797187 |
results/performance_eval.json | latency_ms.std | 0.03839651807581645 |
results/performance_eval.json | latency_ms.p50 | 6.161591474665329 |
results/performance_eval.json | latency_ms.p90 | 6.223839020822197 |
results/performance_eval.json | latency_ms.p99 | 6.2325869931373745 |
results/performance_eval.json | latency_ms.min | 6.102853978518397 |
results/performance_eval.json | latency_ms.max | 6.233558990061283 |
本文档记录 DINOv2-Base 在华为昇腾 NPU 环境下的适配验证、推理部署与评测结果整理。
DINOv2-Base 的当前适配任务类型为:图像识别 / 视觉特征提取。仓库围绕 赛道一模型适配 交付要求,提供 NPU 推理脚本、精度评测、性能评测、运行日志、结果文件和文本化自验证证据。
相关获取地址:
仓库提供 inference.py 作为统一推理入口,运行时通过 --device npu 或脚本默认设备在昇腾 NPU 上执行推理。推理代码保留 model.eval()、无梯度推理、输入输出摘要、耗时统计和日志保存逻辑,便于复现与核验。
仓库保留精度评测与性能评测材料。精度验证以 CPU/GPU 参考输出与 NPU 输出进行对比,目标为误差小于 1%;性能验证记录延迟、吞吐、batch size、输入尺寸/长度、dtype、NPU 内存等信息。所有结果以 logs/ 与 results/ 中的真实运行文件为准。
自验证截图中的关键内容已转写为 README 文本证据,避免仅依赖图片展示。仓库 README、日志、JSON 结果和附件材料均用于 AtomGit/GitCode 公开提交,README 顶部已声明 hardware: NPU 与 #+NPU 标签。
| 组件 | 版本 / 说明 |
|---|---|
| NPU | Ascend NPU(环境数据已在下方“结果数据直接文本”中直接写入) |
| Python | 3.8+ |
| PyTorch/torch_npu | 按 requirements.txt 与当前 NPU 容器环境安装 |
| 依赖安装 | pip install -r requirements.txt |
results/env_info.json 或 logs/env_check.log 为准)torch_npu,请先完成昇腾基础环境配置后再运行真实验证。.
├── .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
├── logs/accuracy_eval.log
├── logs/env_check.log
├── logs/inference.log
├── logs/performance_eval.log
├── requirements.txt
├── results/accuracy_eval.json
├── results/env_info.json
└── results/performance_eval.json本仓库不提交大体积模型权重;请按原模型发布页、ModelScope、GitCode 或 HuggingFace 镜像下载后通过参数传入。
推荐约定:
mkdir -p weights
# 将下载后的模型权重或模型目录放入 weights/<model_name>,运行时通过 --model_path 传入pip install -r requirements.txt
python inference.py --model_path <model_path> --image_path <image.jpg> --device npupython eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu| 指标 | 结果 |
|---|---|
| 模型名称 | DINOv2-base |
| 任务类型 | 图像识别 / 视觉特征提取 |
| 推理设备 | Ascend NPU |
| 推理框架 | PyTorch / torch_npu 或仓库脚本声明的推理框架 |
| 仓库分支 | master |
| 当前提交 | 5027ca5 |
测试结果来源:results/performance_eval.json
| 指标 | 结果 |
|---|---|
device | npu:0 |
dtype | float32 |
batch_size | 1 |
image_size | 224 |
latency_ms | {'avg': 6.171555892797187, 'std': 0.03839651807581645, 'p50': 6.161591474665329, 'p90': 6.223839020822197, 'p99': 6.2325869931373745, 'min': 6.102853978518397, 'max': 6.233558990061283} |
结果来源:results/accuracy_eval.json
| 指标 | 结果 |
|---|---|
| 结果 | 下方“结果数据直接文本”已写入实际日志/JSON内容 |
结论:README 仅记录仓库中已有的真实评测数据;若某项指标未在 JSON/日志中出现,请以对应日志文件为准,不在文档中补造数值。
python eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu关键日志和结构化 JSON 已在下方“结果数据直接文本”中直接写入;原始文件路径仅用于复核。
inference.py 支持的参数以脚本自身 --help 输出为准。当前 README 从脚本中提取到的主要参数如下:
| 参数 | 默认值 | 说明 |
|---|---|---|
--model_path | 见脚本默认值 | 模型权重或模型目录路径 |
--image_path | 见脚本默认值 | 输入样例路径 |
--device | 见脚本默认值 | 推理设备,NPU 推理使用 npu |
--dtype | 见脚本默认值 | 推理精度类型 |
--trust_remote_code | 见脚本默认值 | 脚本参数,详见 python inference.py --help |
--output_log | 见脚本默认值 | 输出目录或日志路径 |
python inference.py --help
python inference.py --model_path <model_path> --image_path <image.jpg> --device npu以下内容来自仓库已有 README 证据段、运行日志或结果文件。图片文件如保留在 assets/ 中,仅作为附件材料;README 中直接写入可检索的文本证据。
以下 PNG 文件由之前的 assets/*.txt 证据文件渲染生成。渲染完成后,原始 TXT 文件已被移除。
| 证据 | PNG 文件 |
|---|---|
| 精度评估结果 | assets/accuracy_eval_result.png |
| 环境检查 | assets/env_check.png |
| Git 提交结果 | assets/git_submit_result.png |
| 推理结果 | assets/inference_result.png |
| 性能评估结果 | assets/performance_eval_result.png |
本节将仓库中已提交的评测 JSON、推理日志、环境日志和性能日志直接写入 README。原始文件路径仅用于标识数据来源,主要数值和输出内容已在下面以文本形式完整展开。
=== Environment Check Log ===
Date: 2026-05-15
--- OS ---
Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35
Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Architecture: aarch64
--- Python ---
Python 3.11.14
pip 26.0.1
--- NPU Hardware ---
npu-smi 25.5.2
NPU: 2x Ascend910_9362
NPU 5 (Phy-ID 0): Bus 0000:0B:00.0, Health OK, HBM 3105/65536 MB
NPU 5 (Phy-ID 1): Bus 0000:0A:00.0, Health OK, HBM 2870/65536 MB
--- CANN ---
ASCEND_HOME_PATH: /usr/local/Ascend/cann-8.5.1
--- Python Packages ---
torch: 2.9.0+cpu
torch_npu: 2.9.0.post1+gitee7ba04
transformers: 4.57.6
Pillow: 12.2.0
numpy: 1.26.4
--- NPU Availability ---
torch.npu.is_available(): True
torch.npu.device_count(): 2
--- Status: PASS ---[LOG_WARNING] can not create directory, directory: /home/atomgit/ascend/log, possible reason: No such file or directory.path string is NULLpath string is NULL{
"os": "Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35",
"python": "3.11.14",
"machine": "aarch64",
"torch": "2.9.0+cpu",
"torch_npu": "2.9.0.post1+gitee7ba04",
"npu_available": true,
"npu_count": 2,
"npu_name": "Ascend910_9362",
"transformers": "4.57.6",
"ascend_home": "/usr/local/Ascend/cann-8.5.1",
"npu_smi": "+------------------------------------------------------------------------------------------------+\n| npu-smi 25.5.2 Version: 25.5.2 |\n+---------------------------+---------------+----------------------------------------------------+\n| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page)|\n| Chip Phy-ID | Bus-Id | AICore(%) Memory-Usage(MB) HBM-Usage(MB) |\n+===========================+===============+====================================================+\n| 5 Ascend910 | OK | 172.8 47 0 / 0 |\n| 0 10 | 0000:0B:00.0 | 0 0 / 0 3105 / 65536 |\n+------------------------------------------------------------------------------------------------+\n| 5 Ascend910 | OK | - 47 0 / 0 |\n| 1 11 | 0000:0A:00.0 | 0 0 / 0 2870 / 65536 |\n+===========================+===============+====================================================+\n+---------------------------+---------------+----------------------------------------------------+\n| NPU Chip | Process id | Process name | Process memory(MB) |\n+===========================+===============+====================================================+\n| No running pr"
}2026-05-15 00:51:18,943 [INFO] Using NPU: Ascend910_9362
2026-05-15 00:51:18,945 [INFO] Loading model from: ./model_weights
2026-05-15 00:51:20,430 [INFO] Model loaded on npu:0, dtype=torch.float32, hidden_size=768
2026-05-15 00:51:20,437 [INFO] Input image: ./test_image.jpg
2026-05-15 00:51:20,441 [INFO] Input shape: [1, 3, 224, 224]
2026-05-15 00:51:20,716 [INFO] ============================================================
2026-05-15 00:51:20,716 [INFO] INFERENCE RESULTS
2026-05-15 00:51:20,716 [INFO] ============================================================
2026-05-15 00:51:20,716 [INFO] last_hidden_state shape: [1, 257, 768]
2026-05-15 00:51:20,716 [INFO] CLS embedding shape: [1, 768]
2026-05-15 00:51:20,716 [INFO] CLS embedding (first 10): [3.230435609817505, 0.34844839572906494, 0.12718039751052856, -1.8389592170715332, -2.816983938217163, -1.4307496547698975, 1.1897732019424438, -1.3540078401565552, -0.956515908241272, 0.9376717805862427]
2026-05-15 00:51:20,716 [INFO] CLS stats: mean=-0.013401, std=1.733988
2026-05-15 00:51:20,716 [INFO] CLS norm: 48.023827
2026-05-15 00:51:20,717 [INFO] pooler_output shape: [1, 768]
2026-05-15 00:51:20,717 [INFO] pooler (first 10): [3.230435609817505, 0.34844839572906494, 0.12718039751052856, -1.8389592170715332, -2.816983938217163, -1.4307496547698975, 1.1897732019424438, -1.3540078401565552, -0.956515908241272, 0.9376717805862427]
2026-05-15 00:51:20,717 [INFO] Inference time: 7.04 ms
2026-05-15 00:51:20,717 [INFO] Throughput: 142.08 images/s
2026-05-15 00:51:20,717 [INFO] Device: npu:0, Dtype: float32
2026-05-15 00:51:20,717 [INFO] NPU: Ascend910_9362
2026-05-15 00:51:20,717 [INFO] NPU memory: 331.9 MB allocated, 430.0 MB reserved
2026-05-15 00:51:20,717 [INFO] ============================================================2026-05-15 00:51:50,106 [INFO] ============================================================
2026-05-15 00:51:50,106 [INFO] ACCURACY EVALUATION: NPU vs CPU (dinov2-base)
2026-05-15 00:51:50,106 [INFO] ============================================================
2026-05-15 00:51:50,121 [INFO] Generated 5 test images
2026-05-15 00:51:50,121 [INFO] Loading model on CPU...
2026-05-15 00:51:50,199 [INFO] Loading model on NPU...
2026-05-15 00:51:52,636 [INFO] --- Image 1/5 ---
2026-05-15 00:51:52,636 [INFO] CLS cosine: 0.99998019, max_abs: 0.03894299
2026-05-15 00:51:52,637 [INFO] LHS cosine: 0.99998454, max_abs: 0.16874290
2026-05-15 00:51:52,637 [INFO] Pooler cosine: 0.99998019
2026-05-15 00:51:53,483 [INFO] --- Image 2/5 ---
2026-05-15 00:51:53,483 [INFO] CLS cosine: 0.99997904, max_abs: 0.03947330
2026-05-15 00:51:53,484 [INFO] LHS cosine: 0.99998473, max_abs: 0.04879534
2026-05-15 00:51:53,484 [INFO] Pooler cosine: 0.99997904
2026-05-15 00:51:54,319 [INFO] --- Image 3/5 ---
2026-05-15 00:51:54,319 [INFO] CLS cosine: 0.99998064, max_abs: 0.03688309
2026-05-15 00:51:54,319 [INFO] LHS cosine: 0.99998478, max_abs: 0.31739235
2026-05-15 00:51:54,319 [INFO] Pooler cosine: 0.99998064
2026-05-15 00:51:55,144 [INFO] --- Image 4/5 ---
2026-05-15 00:51:55,144 [INFO] CLS cosine: 0.99998019, max_abs: 0.04047269
2026-05-15 00:51:55,144 [INFO] LHS cosine: 0.99998525, max_abs: 0.06147003
2026-05-15 00:51:55,144 [INFO] Pooler cosine: 0.99998019
2026-05-15 00:51:55,972 [INFO] --- Image 5/5 ---
2026-05-15 00:51:55,972 [INFO] CLS cosine: 0.99998229, max_abs: 0.03482515
2026-05-15 00:51:55,972 [INFO] LHS cosine: 0.99998483, max_abs: 0.11115551
2026-05-15 00:51:55,972 [INFO] Pooler cosine: 0.99998229
2026-05-15 00:51:55,973 [INFO] ============================================================
2026-05-15 00:51:55,973 [INFO] AGGREGATE RESULTS
2026-05-15 00:51:55,973 [INFO] Avg CLS cosine: 0.99998047, Min: 0.99997904
2026-05-15 00:51:55,973 [INFO] Min LHS cosine: 0.99998454
2026-05-15 00:51:55,973 [INFO] Min Pooler cosine: 0.99997904
2026-05-15 00:51:55,973 [INFO] Target: cosine > 0.99 (< 1% error) => PASSED: True
2026-05-15 00:51:55,973 [INFO] ============================================================
2026-05-15 00:51:55,973 [INFO] Results saved to ./results/accuracy_eval.json{
"model": "dinov2-base",
"reference_device": "cpu",
"test_device": "npu",
"dtype": "float32",
"num_images": 5,
"aggregate": {
"avg_cls_cosine": 0.9999804696012466,
"min_cls_cosine": 0.9999790443995689,
"min_lhs_cosine": 0.9999845379033317,
"cosine_threshold": 0.99,
"passed": true
},
"per_image_cls": [
{
"label": "cls",
"cosine_similarity": 0.9999801863259723,
"max_rel_error_filtered": 0.0051552774384617805,
"mean_rel_error_filtered": 0.0063226837664842606,
"max_abs_error": 0.03894299268722534,
"l2_distance": 0.3041321635246277
},
{
"label": "cls",
"cosine_similarity": 0.9999790443995689,
"max_rel_error_filtered": 0.004917756654322147,
"mean_rel_error_filtered": 0.0064481631852686405,
"max_abs_error": 0.03947329521179199,
"l2_distance": 0.3117719292640686
},
{
"label": "cls",
"cosine_similarity": 0.9999806356370754,
"max_rel_error_filtered": 0.004434050992131233,
"mean_rel_error_filtered": 0.006267974153161049,
"max_abs_error": 0.03688308596611023,
"l2_distance": 0.2998473644256592
},
{
"label": "cls",
"cosine_similarity": 0.999980188967444,
"max_rel_error_filtered": 0.005063964985311031,
"mean_rel_error_filtered": 0.006276972591876984,
"max_abs_error": 0.04047268629074097,
"l2_distance": 0.30253157019615173
},
{
"label": "cls",
"cosine_similarity": 0.9999822926761727,
"max_rel_error_filtered": 0.004137717187404633,
"mean_rel_error_filtered": 0.0059758638963103294,
"max_abs_error": 0.034825146198272705,
"l2_distance": 0.28782713413238525
}
],
"per_image_lhs": [
{
"label": "last_hidden_state",
"cosine_similarity": 0.9999845379033317,
"max_rel_error_filtered": 0.007653668988496065,
"mean_rel_error_filtered": 0.005802048370242119,
"max_abs_error": 0.16874289512634277,
"l2_distance": 4.379386901855469
},
{
"label": "last_hidden_state",
"cosine_similarity": 0.9999847328955481,
"max_rel_error_filtered": 0.001979205058887601,
"mean_rel_error_filtered": 0.0058302804827690125,
"max_abs_error": 0.048795342445373535,
"l2_distance": 4.414885997772217
},
{
"label": "last_hidden_state",
"cosine_similarity": 0.9999847771332614,
"max_rel_error_filtered": 0.013050165958702564,
"mean_rel_error_filtered": 0.005769944284111261,
"max_abs_error": 0.31739234924316406,
"l2_distance": 4.453549861907959
},
{
"label": "last_hidden_state",
"cosine_similarity": 0.9999852471412688,
"max_rel_error_filtered": 0.00252176309004426,
"mean_rel_error_filtered": 0.005809154827147722,
"max_abs_error": 0.06147003173828125,
"l2_distance": 4.392879009246826
},
{
"label": "last_hidden_state",
"cosine_similarity": 0.9999848279654748,
"max_rel_error_filtered": 0.004662900697439909,
"mean_rel_error_filtered": 0.005657501053065062,
"max_abs_error": 0.11115550994873047,
"l2_distance": 4.292621612548828
}
],
"per_image_pooler": [
{
"label": "pooler",
"cosine_similarity": 0.9999801863259723,
"max_rel_error_filtered": 0.0051552774384617805,
"mean_rel_error_filtered": 0.0063226837664842606,
"max_abs_error": 0.03894299268722534,
"l2_distance": 0.3041321635246277
},
{
"label": "pooler",
"cosine_similarity": 0.9999790443995689,
"max_rel_error_filtered": 0.004917756654322147,
"mean_rel_error_filtered": 0.0064481631852686405,
"max_abs_error": 0.03947329521179199,
"l2_distance": 0.3117719292640686
},
{
"label": "pooler",
"cosine_similarity": 0.9999806356370754,
"max_rel_error_filtered": 0.004434050992131233,
"mean_rel_error_filtered": 0.006267974153161049,
"max_abs_error": 0.03688308596611023,
"l2_distance": 0.2998473644256592
},
{
"label": "pooler",
"cosine_similarity": 0.999980188967444,
"max_rel_error_filtered": 0.005063964985311031,
"mean_rel_error_filtered": 0.006276972591876984,
"max_abs_error": 0.04047268629074097,
"l2_distance": 0.30253157019615173
},
{
"label": "pooler",
"cosine_similarity": 0.9999822926761727,
"max_rel_error_filtered": 0.004137717187404633,
"mean_rel_error_filtered": 0.0059758638963103294,
"max_abs_error": 0.034825146198272705,
"l2_distance": 0.28782713413238525
}
],
"timestamp": "2026-05-15 00:51:55"
}2026-05-16 08:46:49,220 [INFO] PERF EVAL: device=npu:0, dtype=float32, bs=1, size=224, warmup=3, runs=10
2026-05-16 08:46:50,887 [INFO] Avg: 6.17ms, Std: 0.04ms, P50: 6.16ms, P90: 6.22ms, P99: 6.23ms
2026-05-16 08:46:50,887 [INFO] Throughput: 162.03 images/s
2026-05-16 08:46:50,887 [INFO] NPU memory: before=331.7MB, after=331.7MB, reserved=430.0MB
2026-05-16 08:46:50,888 [INFO] Saved to results/performance_eval.json{
"model": "dinov2-base",
"device": "npu:0",
"dtype": "float32",
"batch_size": 1,
"image_size": 224,
"latency_ms": {
"avg": 6.171555892797187,
"std": 0.03839651807581645,
"p50": 6.161591474665329,
"p90": 6.223839020822197,
"p99": 6.2325869931373745,
"min": 6.102853978518397,
"max": 6.233558990061283
},
"throughput_images_per_sec": 162.03369415597425,
"npu_memory_mb": {
"before": 331.7216796875,
"after": 331.7216796875,
"reserved": 430.0
},
"timestamp": "2026-05-16 08:46:50"
}license 元数据或 LICENSE 文件为准。