☰
DeepFilterNet ONNX 导出:一条命令搞定跨平台部署
2026/10/17 6:30:08 网站建设 项目流程

DeepFilterNet ONNX 导出:一条命令搞定跨平台部署

【免费下载链接】DeepFilterNetNoise supression using deep filtering项目地址: https://gitcode.com/GitHub_Trending/de/DeepFilterNet

DeepFilterNet 是一套用深度滤波做语音降噪的工具,而 ONNX(可理解为模型的通用交换格式)正是它打通桌面、移动端、服务端的桥梁。本文带你走通 ONNX 导出、导出后自检和跨平台部署的完整链路,读完你就能把降噪模型部署到任意目标平台。

一、先认清导出产物

导出后你拿到的不是单个大模型,而是一组各司其职的组件 🧩:

  • enc.onnx(编码器):对输入音频做特征提取,输出中间表示;
  • erb_dec.onnx(ERB 解码器):处理 ERB 频带特征,负责粗粒度降噪决策;
  • df_dec.onnx(DF 解码器):生成最终用于重构干净音频的滤波系数;
  • config.ini:模型运行配置,推理端靠它初始化参数;
  • version.txt:记录模型版本,便于升级管理。

这种模块化拆分是刻意为之:在资源受限的设备上,你可以只加载需要的组件(例如只用编码器 + 轻量解码器),按需分配内存和算力。

二、一条命令完成导出

先装依赖,核心是 PyTorch 加上 onnx 和 onnxsim(后者用于简化模型图):

pip install -r requirements.txt pip install onnx onnxsim

然后执行导出命令:

python DeepFilterNet/df/scripts/export.py --simplify ./onnx_export

命令里的 export.py 是导出脚本,两个参数说明如下:

  • --simplify:导出后自动调用 onnxsim 简化模型图,体积更小、推理更快;
  • ./onnx_export:导出目录,不存在会自动创建。

脚本跑完后会自动做两件事:逐组件比对 PyTorch 与 ONNX 输出,确认一致;再把所有产物打包成 tar.gz,方便你直接分发。

三、导出后先自检

脚本内置验证机制:对每个组件分别跑 PyTorch 和 onnxruntime 推理,比对输出并检查均方误差是否在容差范围内,超差会直接报错。发布前建议再手动验证一次,最小推理示例如下:

import onnxruntime as ort, numpy as np sess = ort.InferenceSession("enc.onnx", providers=["CPUExecutionProvider"]) x = np.random.randn(1, 1, 128, 100).astype(np.float32) sess.run(None, {"feat_erb": x})

输入张量形状请对照 config.ini 里的实际维度调整。能正常返回输出,说明模型图完整可用。

四、部署选型

三条路线各有适用场景,按你的目标环境选即可:

路线入口集成要点适用场景
桌面demo/ 下的 Rust 演示程序直接编译 demo,接入麦克风/声卡即可实时降噪本地实时通话、会议降噪
移动端ONNX Runtime Mobile模型文件放入 assets,用 Java/Kotlin 加载并逐帧推理Android/iOS 离线降噪
服务端libDF/ 的 C API,或配合 TensorRT 加速C API 便于嵌入任意服务框架;TensorRT 提升吞吐高并发降噪服务、GPU 集群

五、卡住了怎么排查

  • 导出失败:先确认 PyTorch 版本不低于 1.8,再升级 onnx 和 onnxsim:pip install --upgrade onnx onnxsim;
  • 推理偏慢:提高 ONNX opset 版本(--opset参数)、尝试模型量化、为目标平台选对 ONNX Runtime 执行提供者;
  • 模型版本怎么选:models/ 下已有预训练 ONNX 包,DeepFilterNet2_onnx.tar.gz是标准版,DeepFilterNet2_onnx_ll.tar.gz是低延迟(ll)版,DeepFilterNet3_onnx.tar.gz则是新版架构,按延迟需求和精度要求挑选即可。

结尾

到这里,DeepFilterNet 的 ONNX 导出、自检与三平台部署路径都走通了:产物是五个模块化的组件文件,流程是一条命令加自动校验。掌握这套方法后,你可以把它扩展到实时音频流处理的方向,让降噪效果覆盖直播与通话场景。

【免费下载链接】DeepFilterNetNoise supression using deep filtering项目地址: https://gitcode.com/GitHub_Trending/de/DeepFilterNet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询