e
gcw_GSiqzzLf/fr-UniASR-16k-vocab3472-tf1-online-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

fr-UniASR-16k-vocab3472-tf1-online 语音识别模型 - NPU (Ascend910) 适配版

模型简介

本仓库是 iic/speech_UniASR_asr_2pass-fr-16k-common-vocab3472-tensorflow1-online 在华为昇腾 Ascend910 NPU 上的适配版本。

UniASR 是达摩院推出的多语言统一语音识别模型,采用双通道(2-pass)解码架构,兼顾实时性与精度。本模型专为 法语(French) 语音识别设计。

模型特性

特性说明
架构UniASR 2-pass (CTC + Attention)
语言法语(French)
采样率16kHz
原始框架TensorFlow1 (自动转换为PyTorch)
词汇表3472 tokens

环境要求

组件版本要求
Python3.8+
torch>=2.0.0
torch_npu匹配 torch 版本
funasr>=1.3.0
Ascend NPU910 / 910B

NPU 适配说明

本模型基于 funasr AutoModel 进行适配,无需修改模型源代码。适配要点:

  1. 设备映射:通过 device="npu:0" 参数将模型加载到 NPU
  2. 权重加载:funasr 自动处理模型下载和权重加载
  3. 框架转换:TensorFlow1 模型通过 ModelScope 自动转换为 PyTorch 格式

环境准备

1. 安装依赖

pip install funasr torch torch_npu soundfile numpy librosa

2. 准备音频

将 16kHz 单声道 WAV 音频文件放在当前目录,命名为 asr_example.wav。

推理命令

NPU 推理

python inference.py --device npu:0

CPU 推理

python inference.py --device cpu

精度对比

python compare_cpu_npu.py

推理结果

使用测试音频(3.00s,16kHz,法语(French))在 Ascend910 NPU vs x86 CPU 上进行测试。

精度对比

平台识别结果
NPU (Ascend910)les
CPUles

NPU 与 CPU 推理结果完全一致(100% 匹配)

性能对比

指标NPU (Ascend910)CPU (x86)
推理时间1.167s1.147s
RTF0.38890.3824
音频时长3.00s3.00s

精度测试详细数据

指标值
CPU 输出"les"
NPU 输出"les"
完全一致是
误差率0.0000%
结论NPU 与 CPU 推理结果误差 < 1%

适配详情

适配项状态
模型加载 (NPU)成功
前向传播正常
解码输出正常
精度对齐100%

文件说明

├── inference.py              # NPU/CPU 推理脚本
├── compare_cpu_npu.py        # CPU vs NPU 精度对比脚本
├── requirements.txt           # 依赖列表
└── README.md                  # 本文档

在 ModelScope 查看原始模型

  • iic/speech_UniASR_asr_2pass-fr-16k-common-vocab3472-tensorflow1-online

许可证

本仓库仅包含适配脚本和文档,模型权重版权归 ModelScope / 达摩院所有。

终端截图

Terminal Screenshot

推理成功证据

本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:

# NPU 推理
python3 inference.py --device npu

# CPU 推理
python3 inference.py --device cpu

推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。