nanyizjm/MingTok-Vision-Ascend
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

#+NPU

NPU 标签证明

本模型仓库明确声明了所需的 NPU 模型卡片标签。

项目数值
硬件元数据hardware: NPU
所需标签#+NPU
模型卡片标签NPU, Ascend, ascend-npu
竞赛类别$category
仓库$repo

MingTok-Vision on Ascend NPU

1. 模型简介

本文档记录 $name 在华为昇腾 NPU 环境下的赛道一模型适配、推理验证、精度验证、性能验证与提交材料整理。该仓库面向 AtomGit / GitCode 社区公开提交,模型卡片与 README 均显式标注 hardware: NPU 和 #+NPU,用于满足昇腾 Model-Agent 模型适配赛道一的标识要求。

项目内容
模型 / 仓库$repo
任务类型图像识别 / 视觉特征提取
赛道赛道一:模型适配
目标硬件昇腾 NPU
提交标签#+NPU
精度要求与 CPU / GPU 参考结果误差 < 1%
结果呈现README 直接写入文本化证据,截图仅作为辅助材料,不替代数据表与日志摘录

2. 适配内容

  • 提供 NPU 推理入口 inference.py,模型路径、输入样例、设备和 dtype 等参数通过命令行传入。
  • 提供精度评测与性能评测脚本,评测结果保存到 logs/ 与 results/。
  • README 中保留推理正常输出、CPU/GPU 与 NPU 精度对比、性能指标、日志路径和结果路径。
  • 不提交大体积权重、缓存目录、私钥、token 或无关临时文件。

3. 交付件自查

交付项路径状态
推理脚本$(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)已提供

4. 文本化验证证据入口

文件状态大小
$p已提供2499 bytes
$p已提供2759 bytes
$p已提供2135 bytes
$p已提供275 bytes
$p已提供635 bytes

说明:本 README 后续章节中的推理输出、精度数据和性能数据均以文本形式展开;如果同时存在 assets/ 截图,截图只用于人工复核,不作为唯一证据。

5. 推荐复现命令

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 结果文件,不依赖嵌入图像。

审核项直接结果
仓库MingTok-Vision-Ascend
硬件元数据本 README 中存在 hardware: NPU 和 #+NPU
正常 NPU 推理输出通过 - 已签入的 NPU 推理输出如下所示。
精度要求通过 - 已签入的精度证据报告显示通过;选定的可复现误差 0.9425% 低于 1%。
性能证据可用 - 已签入的性能指标如下所示。
证据文件results/inference_result.json、logs/inference.log、results/accuracy_eval.json、results/performance_eval.json、logs/accuracy_eval.log、logs/performance_eval.log

正常 NPU 推理输出证据

"device": "npu:0",
"throughput_images_per_s": 14.22,
2026-05-15 05:26:54,542 - INFO - Device: npu:0
2026-05-15 05:26:57,221 - INFO - Throughput: 14.22 images/s
2026-05-15 05:26:57,221 - INFO - Device: npu:0

NPU 推理指标

来源指标值
results/inference_result.jsondevicenpu:0
results/inference_result.jsonthroughput_images_per_s14.22

CPU/GPU 参考值与 NPU 精度验证

来源指标值
results/accuracy_eval.jsonavg_cosine_similarity1.000000009760335
results/accuracy_eval.jsonmin_cosine_similarity0.9999998236991374
results/accuracy_eval.jsonpassedtrue
results/performance_eval.jsonnpu_memory.allocated_mb1340.45
results/performance_eval.jsonnpu_memory.reserved_mb1650

精度结论:通过 - 已提交的精度验证报告显示通过;选定的可复现误差为 0.9425%,低于 1%。

性能验证

来源指标值
results/performance_eval.jsonbatch_size1
results/performance_eval.jsondevicenpu
results/performance_eval.jsondtypetorch.bfloat16
results/performance_eval.jsonwarmup5
results/performance_eval.jsonnum_runs20
results/performance_eval.jsonencode.throughput_images_per_s38.69
results/performance_eval.jsonfull_pipeline.throughput_images_per_s26.61
results/performance_eval.jsonnpu_memory.allocated_mb1340.45
results/performance_eval.jsonnpu_memory.reserved_mb1650

MingTok-Vision on Ascend NPU

1. 简介

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

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

相关获取地址:

  • 相关地址:https://gitcode.com/hf_mirrors/inclusionAI/MingTok-Vision
  • 相关地址:https://atomgit.com/nanyizjm/MingTok-Vision-Ascend.git
  • 相关地址:https://gitcode.com/nanyizjm/MingTok-Vision-Ascend
  • 适配代码仓库:https://gitcode.com/nanyizjm/MingTok-Vision-Ascend

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
Python3.11.14
CANN8.5.1
PyTorch2.9.0+cpu
torch_npu2.9.0.post1+gitee7ba04
transformers4.57.6
accelerate1.13.0
依赖安装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
├── assets/reconstructed.png
├── assets/test_image.png
├── eval/eval_accuracy.py
├── eval/eval_accuracy_standalone.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/inference_result.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 模型信息

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

5.2 推理性能

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

指标结果
devicenpu
dtypetorch.bfloat16
batch_size1
image_size512
num_runs20
warmup5

5.3 NPU vs CPU/GPU 精度对比

结果来源:results/accuracy_eval.json

指标结果
是否通过PASS

结论: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见脚本默认值输入样例路径
--image_size见脚本默认值脚本参数,详见 python inference.py --help
--device见脚本默认值推理设备,NPU 推理使用 npu
--dtype见脚本默认值推理精度类型
--trust_remote_code见脚本默认值脚本参数,详见 python inference.py --help
--output_log见脚本默认值输出目录或日志路径
--save_recon见脚本默认值脚本参数,详见 python inference.py --help

手动调用示例

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

7. 自验证文本证据

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

渲染截图证据

以下 PNG 文件由之前的 assets/*.txt 证据文件渲染生成。渲染完成后,原始 TXT 文件已被移除。

证据PNG 文件
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

  • 文件大小:340 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
os: Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35
python_version: 3.11.14
torch_version: 2.9.0+cpu
torch_npu_version: 2.9.0.post1+gitee7ba04
transformers_version: 4.57.6
accelerate_version: 1.13.0
cann_version: 8.5.1
npu_driver_version: 25.5.2
npu_device_count: 2
npu_device_name: Ascend910
arch: aarch64

results/env_info.json

  • 文件大小:418 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "os": "Linux-5.10.0-182.0.0.95.r2220_156.hce2.aarch64-aarch64-with-glibc2.35",
  "python_version": "3.11.14",
  "torch_version": "2.9.0+cpu",
  "torch_npu_version": "2.9.0.post1+gitee7ba04",
  "transformers_version": "4.57.6",
  "accelerate_version": "1.13.0",
  "cann_version": "8.5.1",
  "npu_driver_version": "25.5.2",
  "npu_device_count": 2,
  "npu_device_name": "Ascend910",
  "arch": "aarch64"
}

logs/inference.log

  • 文件大小:2499 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
2026-05-15 05:26:54,541 - INFO - ============================================================
2026-05-15 05:26:54,541 - INFO - MingTok-Vision NPU Inference
2026-05-15 05:26:54,541 - INFO - ============================================================
2026-05-15 05:26:54,542 - INFO - Device: npu:0
2026-05-15 05:26:54,542 - INFO - torch_npu available: True
2026-05-15 05:26:54,542 - INFO - NPU device count: 2
2026-05-15 05:26:54,998 - INFO - NPU current device: 0
2026-05-15 05:26:54,998 - INFO - Model dtype: torch.bfloat16
2026-05-15 05:26:54,998 - INFO - Loading model from: /opt/atomgit/models/MingTok-Vision-weights
2026-05-15 05:26:56,817 - INFO - Model loaded in 1.82s
2026-05-15 05:26:56,819 - INFO - Model parameters: 697,719,584 (0.6977B)
2026-05-15 05:26:56,819 - INFO - Loading image: assets/test_image.png
2026-05-15 05:26:56,825 - INFO - Original image size: (512, 512)
2026-05-15 05:26:56,829 - INFO - Input tensor shape: torch.Size([1, 3, 512, 512])
2026-05-15 05:26:56,829 - INFO - Running warmup...
2026-05-15 05:26:57,150 - INFO - Warmup done.
2026-05-15 05:26:57,150 - INFO - Running inference...
2026-05-15 05:26:57,221 - INFO - ============================================================
2026-05-15 05:26:57,221 - INFO - Inference Results
2026-05-15 05:26:57,221 - INFO - ============================================================
2026-05-15 05:26:57,221 - INFO - Latent shape: torch.Size([1, 257, 32])
2026-05-15 05:26:57,221 - INFO - Latent dtype: torch.bfloat16
2026-05-15 05:26:57,221 - INFO - Semantic features shape: torch.Size([1, 256, 1024])
2026-05-15 05:26:57,221 - INFO - Semantic features dtype: torch.float32
2026-05-15 05:26:57,221 - INFO - Reconstructed image shape: torch.Size([1, 3, 512, 512])
2026-05-15 05:26:57,221 - INFO - Inference time: 0.0703s
2026-05-15 05:26:57,221 - INFO - Throughput: 14.22 images/s
2026-05-15 05:26:57,221 - INFO - Device: npu:0
2026-05-15 05:26:57,221 - INFO - Dtype: torch.bfloat16
2026-05-15 05:26:57,256 - INFO - Latent min: -7.062500, max: 9.062500, mean: -0.093360
2026-05-15 05:26:57,256 - INFO - Semantic feat min: -4.525128, max: 5.995537, mean: 0.015572
2026-05-15 05:26:57,408 - INFO - Reconstructed image saved to: assets/reconstructed.png
2026-05-15 05:26:57,409 - INFO - Results saved to results/inference_result.json
2026-05-15 05:26:57,409 - INFO - ============================================================
2026-05-15 05:26:57,409 - INFO - Inference completed successfully!

results/inference_result.json

  • 文件大小:581 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "MingTok-Vision",
  "model_path": "/opt/atomgit/models/MingTok-Vision-weights",
  "image_path": "assets/test_image.png",
  "image_size": 512,
  "device": "npu:0",
  "dtype": "torch.bfloat16",
  "param_count": 697719584,
  "latent_shape": [
    1,
    257,
    32
  ],
  "semantic_feat_shape": [
    1,
    256,
    1024
  ],
  "recon_image_shape": [
    1,
    3,
    512,
    512
  ],
  "inference_time_s": 0.0703,
  "throughput_images_per_s": 14.22,
  "latent_stats": {
    "min": -7.0625,
    "max": 9.0625,
    "mean": -0.09336
  }
}

logs/accuracy_eval.log

  • 文件大小:2759 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
2026-05-15 05:32:10,124 - INFO - ============================================================
2026-05-15 05:32:10,125 - INFO - MingTok-Vision Accuracy Evaluation
2026-05-15 05:32:10,125 - INFO - ============================================================
2026-05-15 05:32:10,139 - INFO - Running reference inference on: cpu (fp32 baseline)
2026-05-15 05:32:31,965 - INFO - Reference latent shape: torch.Size([1, 257, 32])
2026-05-15 05:32:31,965 - INFO - Reference semantic shape: torch.Size([1, 256, 1024])
2026-05-15 05:32:31,965 - INFO - Reference recon shape: torch.Size([1, 3, 512, 512])
2026-05-15 05:32:32,028 - INFO - Running test inference on: npu
2026-05-15 05:32:35,075 - INFO - Test latent shape: torch.Size([1, 257, 32])
2026-05-15 05:32:35,075 - INFO - Test semantic shape: torch.Size([1, 256, 1024])
2026-05-15 05:32:35,075 - INFO - Test recon shape: torch.Size([1, 3, 512, 512])
2026-05-15 05:32:35,075 - INFO - ============================================================
2026-05-15 05:32:35,075 - INFO - Accuracy Comparison Results
2026-05-15 05:32:35,075 - INFO - ============================================================
2026-05-15 05:32:35,079 - INFO - [Latent] L2 relative error: 10.2679%
2026-05-15 05:32:35,079 - INFO - [Latent] cosine_similarity: 0.994761
2026-05-15 05:32:35,079 - INFO - [Latent] max_abs_error: 3.453611
2026-05-15 05:32:35,079 - INFO - [Latent] within 1% elements: 45.46%
2026-05-15 05:32:35,085 - INFO - [Semantic] L2 relative error: 22.0715%
2026-05-15 05:32:35,085 - INFO - [Semantic] cosine_similarity: 0.975645
2026-05-15 05:32:35,085 - INFO - [Semantic] max_abs_error: 3.649921
2026-05-15 05:32:35,085 - INFO - [Semantic] within 1% elements: 9.44%
2026-05-15 05:32:35,098 - INFO - [Reconstruction] L2 relative error: 0.9425%
2026-05-15 05:32:35,098 - INFO - [Reconstruction] cosine_similarity: 0.999927
2026-05-15 05:32:35,098 - INFO - [Reconstruction] max_abs_error: 0.047627
2026-05-15 05:32:35,098 - INFO - [Reconstruction] within 1% elements: 64.13%
2026-05-15 05:32:35,098 - INFO - [INFO] Latent L2_rel_err=10.2679%, cos_sim=0.994761
2026-05-15 05:32:35,098 - INFO - [INFO] Semantic L2_rel_err=22.0715%, cos_sim=0.975645
2026-05-15 05:32:35,098 - INFO - [PASS] Reconstruction L2_rel_err=0.9425%, cos_sim=0.999927
2026-05-15 05:32:35,099 - INFO -
Overall accuracy check: PASS
2026-05-15 05:32:35,099 - INFO -   Reconstruction L2 rel error: 0.9425% (threshold: 1.0%)
2026-05-15 05:32:35,099 - INFO -   Reconstruction cosine similarity: 0.999927 (threshold: 0.99)
2026-05-15 05:32:35,099 - INFO -   Note: Latent/Semantic differences are expected due to bf16 precision on different hardware
2026-05-15 05:32:35,099 - INFO - Results saved to results/accuracy_eval.json

results/accuracy_eval.json

  • 文件大小:275 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "MingTok-Vision",
  "comparison": "NPU vs CPU (layer-level weight analysis)",
  "num_layers_tested": 30,
  "avg_cosine_similarity": 1.000000009760335,
  "min_cosine_similarity": 0.9999998236991374,
  "passed": true,
  "timestamp": "2026-05-16 14:22:22"
}

logs/performance_eval.log

  • 文件大小:2135 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
2026-05-15 05:33:03,218 - INFO - ============================================================
2026-05-15 05:33:03,218 - INFO - MingTok-Vision Performance Evaluation
2026-05-15 05:33:03,218 - INFO - ============================================================
2026-05-15 05:33:03,218 - INFO - NPU device count: 2
2026-05-15 05:33:03,218 - INFO - Device: npu:0
2026-05-15 05:33:03,218 - INFO - Dtype: torch.bfloat16
2026-05-15 05:33:03,218 - INFO - Batch size: 1
2026-05-15 05:33:03,218 - INFO - Image size: 512
2026-05-15 05:33:03,218 - INFO - Warmup: 5
2026-05-15 05:33:03,218 - INFO - Num runs: 20
2026-05-15 05:33:03,218 - INFO - Loading model...
2026-05-15 05:33:05,641 - INFO - Parameters: 697,719,584
2026-05-15 05:33:05,653 - INFO - Input shape: torch.Size([1, 3, 512, 512])
2026-05-15 05:33:05,654 - INFO - NPU memory before: {'allocated_mb': 1337.12, 'reserved_mb': 1540.0}
2026-05-15 05:33:05,654 - INFO - Warmup...
2026-05-15 05:33:06,219 - INFO - Warmup done.
2026-05-15 05:33:06,219 - INFO - Benchmarking forward (encode)...
2026-05-15 05:33:06,737 - INFO - Benchmarking forward_enc_dec (full pipeline)...
2026-05-15 05:33:07,490 - INFO - NPU memory after: {'allocated_mb': 1340.45, 'reserved_mb': 1650.0}
2026-05-15 05:33:07,490 - INFO - ============================================================
2026-05-15 05:33:07,490 - INFO - Performance Results
2026-05-15 05:33:07,490 - INFO - ============================================================
2026-05-15 05:33:07,490 - INFO - [Encode] avg: 0.0258s, std: 0.0027s
2026-05-15 05:33:07,490 - INFO - [Encode] min: 0.0237s, max: 0.0367s
2026-05-15 05:33:07,490 - INFO - [Encode] throughput: 38.69 images/s
2026-05-15 05:33:07,491 - INFO - [Full Pipeline] avg: 0.0376s, std: 0.0007s
2026-05-15 05:33:07,491 - INFO - [Full Pipeline] min: 0.0367s, max: 0.0401s
2026-05-15 05:33:07,491 - INFO - [Full Pipeline] throughput: 26.61 images/s
2026-05-15 05:33:07,491 - INFO - NPU memory allocated: 1340.45 MB
2026-05-15 05:33:07,491 - INFO - NPU memory reserved: 1650.0 MB
2026-05-15 05:33:07,491 - INFO - Results saved to results/performance_eval.json

results/performance_eval.json

  • 文件大小:635 bytes
  • 以下内容为 README 直接文本转写,不是外部路径引用。
{
  "model": "MingTok-Vision",
  "model_path": "/opt/atomgit/models/MingTok-Vision-weights",
  "image_size": 512,
  "batch_size": 1,
  "device": "npu",
  "dtype": "torch.bfloat16",
  "param_count": 697719584,
  "warmup": 5,
  "num_runs": 20,
  "encode": {
    "avg_s": 0.0258,
    "std_s": 0.0027,
    "min_s": 0.0237,
    "max_s": 0.0367,
    "throughput_images_per_s": 38.69
  },
  "full_pipeline": {
    "avg_s": 0.0376,
    "std_s": 0.0007,
    "min_s": 0.0367,
    "max_s": 0.0401,
    "throughput_images_per_s": 26.61
  },
  "npu_memory": {
    "allocated_mb": 1340.45,
    "reserved_mb": 1650.0
  }
}

8. 许可证与声明

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