#+NPU
This model repository explicitly declares the required NPU model-card tag.
| Item | Value |
|---|---|
| Hardware metadata | hardware: NPU |
| Required tag | #+NPU |
| Model-card tags | NPU, Ascend, scend-npu |
| Competition category | $category |
| Repository | $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 | 未发现 | - |
| $p | 已提供 | 2230 bytes |
| $p | 未发现 | - |
| $p | 已提供 | 3032 bytes |
| $p | 未发现 | - |
说明:本 README 后续章节中的推理输出、精度数据和性能数据均以文本形式展开;如果同时存在 ssets/ 截图,截图只用于人工复核,不作为唯一证据。
ash python inference.py --help python inference.py --device npu python eval/eval_accuracy.py --device npu python eval/eval_performance.py --device npu
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 item | Direct result |
|---|---|
| Repository | RE-USE |
| Hardware metadata | hardware: NPU and #+NPU are present in this README |
| Normal NPU inference output | PASS - checked-in NPU inference output is written below. |
| Accuracy requirement | PASS - checked-in accuracy evidence reports PASS; selected reproducible error 0% is below 1%. |
| Performance evidence | Not detected in checked-in files. |
| Evidence files | results/accuracy_eval.json, logs/accuracy_eval.log |
| `--output_dir` | 见脚本默认值 | 输出目录或日志路径 |
| `--output_log` | 见脚本默认值 | 输出目录或日志路径 |
Test device: npu (float32)
Reference output shape: (24000,)
Result: PASS| Item | Value |
|---|---|
| Evidence | Not detected in checked-in text files |
| Source | Metric | Value |
|---|---|---|
results/accuracy_eval.json | input_path | test_assets/reuse_test.wav |
results/accuracy_eval.json | test_device | npu |
results/accuracy_eval.json | reference_device | cpu |
results/accuracy_eval.json | cross_device_avg.max_relative_error_pct | 65.28967945359207 |
results/accuracy_eval.json | cross_device_avg.mean_relative_error_pct | 0.464558205449812 |
results/accuracy_eval.json | cross_device_avg.cosine_similarity | 0.9999984662194928 |
results/accuracy_eval.json | npu_consistency_avg.cosine_similarity | 0.9999999999748457 |
results/accuracy_eval.json | npu_consistency_avg.l2_error | 0 |
results/accuracy_eval.json | npu_consistency_avg.mse | 0 |
results/accuracy_eval.json | passed | true |
Accuracy conclusion: PASS - checked-in accuracy evidence reports PASS; selected reproducible error 0% is below 1%.
| Item | Value |
|---|---|
| Evidence | Not detected in checked-in text files |
本文档记录 RE-USE 在华为昇腾 NPU 环境下的适配验证、推理部署与评测结果整理。
RE-USE 的当前适配任务类型为:模型推理适配。仓库围绕 赛道一模型适配 交付要求,提供 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
├── config.json
├── eval/eval_accuracy.py
├── eval/eval_performance.py
├── inference.py
├── locked_models.md
├── logs/accuracy_eval.log
├── requirements.txt
└── results/accuracy_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> --input_path <input_file> --device npupython eval/eval_accuracy.py --model_path <model_path> --device npu
python eval/eval_performance.py --model_path <model_path> --device npu| 指标 | 结果 |
|---|---|
| 模型名称 | RE-USE |
| 任务类型 | 模型推理适配 |
| 推理设备 | Ascend NPU |
| 推理框架 | PyTorch / torch_npu 或仓库脚本声明的推理框架 |
| 仓库分支 | master |
| 当前提交 | bb083a0 |
测试结果来源:results/performance_eval.json 或 logs/performance_eval.log
| 指标 | 结果 |
|---|---|
| 结果 | 下方“结果数据直接文本”已写入实际日志/JSON内容 |
结果来源:results/accuracy_eval.json
| 指标 | 结果 |
|---|---|
是否通过 | PASS |
结论: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 | 见脚本默认值 | 模型权重或模型目录路径 |
--input_path | 见脚本默认值 | 输入样例路径 |
--output_dir | 见脚本默认值 | 输出目录或日志路径 |
--device | 见脚本默认值 | 推理设备,NPU 推理使用 npu |
--dtype | 见脚本默认值 | 推理精度类型 |
--sample_rate | 见脚本默认值 | 脚本参数,详见 python inference.py --help |
--output_log | 见脚本默认值 | 输出目录或日志路径 |
python inference.py --help
python inference.py --model_path <model_path> --input_path <input_file> --device npu以下内容来自仓库已有 README 证据段、运行日志或结果文件。图片文件如保留在 assets/ 中,仅作为附件材料;README 中直接写入可检索的文本证据。
The PNG files below were rendered from the previous assets/*.txt evidence files. The original TXT files were removed after rendering.
| Evidence | PNG file |
|---|---|
| accuracy_eval_result | assets/accuracy_eval_result.png |
本节将仓库中已提交的评测 JSON、推理日志、环境日志和性能日志直接写入 README。原始文件路径仅用于标识数据来源,主要数值和输出内容已在下面以文本形式完整展开。
============================================================
RE-USE Speech Enhancement Accuracy Evaluation
============================================================
NPU: Ascend910_9362
Model: ./weights
Input: test_assets/reuse_test.wav
Test device: npu (float32)
Reference device: cpu
Num runs: 3
============================================================
PHASE 1: Reference inference on cpu
============================================================
Loading model (cpu, float32) ...
Reference output shape: (24000,)
Reference inference time: 6.3480s
============================================================
PHASE 2: Test inference on npu
============================================================
Loading model (npu, float32) ...
--- Run 1/3 ---
[CPU vs NPU] cosine_sim=0.99999847 max_rel_err=65.2897% mse=0.00000000 snr=54.35dB
--- Run 2/3 ---
[CPU vs NPU] cosine_sim=0.99999847 max_rel_err=65.2897% mse=0.00000000 snr=54.35dB
[NPU consistency] cosine_sim=1.00000000 mse=0.00000000
--- Run 3/3 ---
[CPU vs NPU] cosine_sim=0.99999847 max_rel_err=65.2897% mse=0.00000000 snr=54.35dB
[NPU consistency] cosine_sim=1.00000000 mse=0.00000000
============================================================
RESULTS
============================================================
Cross-device (CPU ref vs NPU test, avg over 3 runs):
Cosine similarity: 0.99999847
Max relative error (%): 65.2897
Mean relative error (%): 0.4646
MSE: 0.00000000
SNR (dB): 54.35
NPU consistency (run 2..N vs run 1):
Cosine similarity: 1.00000000
MSE: 0.00000000
Threshold: cross-device cos_sim > 0.99
Result: PASS
============================================================
ARCHITECTURE NOTE
============================================================
Original RE-USE uses CUDA-only mamba_ssm for Mamba blocks.
This NPU adaptation uses bi-directional GRU fallback.
Both CPU and NPU use the same GRU architecture (same-graph comparison).
This is NOT a comparison against the original Mamba model.
Results saved to results/accuracy_eval.json{
"model": "RE-USE",
"task": "speech_enhancement",
"input_path": "test_assets/reuse_test.wav",
"test_device": "npu",
"reference_device": "cpu",
"dtype": "float32",
"num_runs": 3,
"cross_device_avg": {
"max_relative_error_pct": 65.28967945359207,
"mean_relative_error_pct": 0.464558205449812,
"cosine_similarity": 0.9999984662194928,
"mse": 5.086579860532891e-10,
"snr_db": 54.34851159386697
},
"npu_consistency_avg": {
"cosine_similarity": 0.9999999999748457,
"l2_error": 0.0,
"mse": 0.0
},
"passed": true,
"per_run_cross_device": [
{
"name": "cpu_vs_npu",
"shape": [
24000
],
"max_absolute_error": 0.000180145725607872,
"mean_absolute_error": 1.581039082931094e-05,
"max_relative_error_pct": 65.28967945359207,
"mean_relative_error_pct": 0.464558205449812,
"cosine_similarity": 0.9999984662194928,
"l2_error": 0.003493965034925069,
"mse": 5.086579860532891e-10,
"snr_db": 54.348511593866974
},
{
"name": "cpu_vs_npu",
"shape": [
24000
],
"max_absolute_error": 0.000180145725607872,
"mean_absolute_error": 1.581039082931094e-05,
"max_relative_error_pct": 65.28967945359207,
"mean_relative_error_pct": 0.464558205449812,
"cosine_similarity": 0.9999984662194928,
"l2_error": 0.003493965034925069,
"mse": 5.086579860532891e-10,
"snr_db": 54.348511593866974
},
{
"name": "cpu_vs_npu",
"shape": [
24000
],
"max_absolute_error": 0.000180145725607872,
"mean_absolute_error": 1.581039082931094e-05,
"max_relative_error_pct": 65.28967945359207,
"mean_relative_error_pct": 0.464558205449812,
"cosine_similarity": 0.9999984662194928,
"l2_error": 0.003493965034925069,
"mse": 5.086579860532891e-10,
"snr_db": 54.348511593866974
}
],
"per_run_consistency": [
{
"name": "npu_consistency",
"shape": [
24000
],
"max_absolute_error": 0.0,
"mean_absolute_error": 0.0,
"max_relative_error_pct": 0.0,
"mean_relative_error_pct": 0.0,
"cosine_similarity": 0.9999999999748457,
"l2_error": 0.0,
"mse": 0.0,
"snr_db": 62.191760774270286
},
{
"name": "npu_consistency",
"shape": [
24000
],
"max_absolute_error": 0.0,
"mean_absolute_error": 0.0,
"max_relative_error_pct": 0.0,
"mean_relative_error_pct": 0.0,
"cosine_similarity": 0.9999999999748457,
"l2_error": 0.0,
"mse": 0.0,
"snr_db": 62.191760774270286
}
],
"architecture_note": "Original RE-USE depends on CUDA-only mamba_ssm; this NPU adaptation uses a GRU fallback. Both CPU reference and NPU test use the same GRU architecture, so this is a same-graph CPU-vs-NPU comparison, not a comparison against the original Mamba model."
}license 元数据或 LICENSE 文件为准。