2301_76761127/compressionkit-ecg-2x-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

Ambiq/compressionkit-ecg-2x-v1.0 昇腾 NPU 适配

阶段三模型 | RVQ 残差向量量化神经编解码器(ECG 心电信号压缩 2.0x)| 昇腾 910B NPU 推理验证

模型简介

Ambiq compressionKIT 系列 ECG 心电信号神经压缩编解码器:编码器 Conv2D(1x7,s2)+BN+ReLU+Conv2D(1x1) 将 512 点信号帧压缩为 (8, 16, 256) 的 16 维潜变量, 经 4 级 RVQ 码本(每级 256 词条 x 16 维)量化为索引比特流;解码器 Upsample+Conv2D+ReLU+SeparableConv+ReLU+LayerNorm+Conv2D 重建信号。 采样率 256 Hz,标称压缩率 2.0x(float32 PCM vs RVQ 索引比特流)。

  • 原仓: https://huggingface.co/Ambiq/compressionkit-ecg-2x-v1.0
  • 参数: 9,425 (~9.4K)(编码器+解码器)| 权重格式: Keras 3 (.keras/h5) + codebook.npz

适配要点

问题修复
环境无 TensorFlow/Keras,权重为 .keras(h5) 格式解包 .keras(zip) 直读 model.weights.h5,用 numpy/torch 手工重建微型网络(Keras NHWC -> torch Conv1d 权重布局转换)
TF 'same' 步长 2 卷积 padding 非对称显式 F.pad(左2, 右3),对齐官方 TFLite(编码器输出 relRMSE 1.8e-7)
Keras SeparableConv2D depthwise 阶段无 biastorch 侧 Conv1d(..., groups=C, bias=False),否则随机 bias 污染输出
NPU 上 cdist 兼容性RVQ 最近邻改用
ppg-2x 的 encoder.keras 下载停滞缺失从 hf-mirror 单独补齐该文件
预处理约定按 codec_spec.json:逐帧 LayerNorm(eps=1e-3) 归一化,重建后反归一化

逐层校验:解码器与官方 decoder_float32.tflite 最大误差 2.9e-6;端到端重建与官方 sample_stimulus.npz 参考输出 relRMSE < 1%、corr 0.99997。

运行

pip install -r requirements.txt
python3 inference.py                                # 默认:真实 demo 录音帧
python3 inference.py --input synthetic --seed 1234  # 合成ECG 心电信号(正弦+噪声)

输入无外部依赖:默认使用权重包自带 demo_recordings.npz(真实生理录音), 也可合成确定性ECG 心电信号。完整链路:归一化 -> NPU 编码 -> 4 级 RVQ 量化(压缩) -> 索引码流反量化 -> NPU 解码 -> 反归一化 -> SNR/PRD 指标。

验证结果

  • 设备: 昇腾 910B4 NPU 单卡 npu:0(torch 2.12 + torch_npu 2.12,fp32)
  • 输入: 真实 demo 录音(PhysioNet ECG,8 帧 x 512 点)
  • 压缩率: 2.0x(float32 PCM 16384 bit/帧 -> RVQ 8192 bit/帧),码率 4.10 kbps @ 256Hz
  • 重建质量: SNR 37.74 dB | PRD 1.70% | RMSE 0.00778 | CosSim 0.99982
  • 峰值显存: 0.0184 GiB(torch.npu.max_memory_allocated)
  • 推理耗时: 全批前向 0.524s(含 NPU 初始化),单帧延迟 2.594 ms
  • 重建波形对比: assets/reconstruction_compare.png
  • 日志输出: [验收] NPU 推理运行成功 ✓

交付件

inference.py            # NPU 推理脚本(torch 手工重建 RVQ 编解码器,--model_path 可覆盖)
meta.json               # 适配工作流记录
requirements.txt
README.md
assets/
  agent_workflow.png        # 适配流程截图
  npu_device_call.png       # NPU 设备调用截图 (npu-smi)
  model_result.png          # 推理验收结果截图
  reconstruction_compare.png # 原始/重建波形对比图

标签: #NPU #昇腾 #Model-Agent