开发者社区> 问答> 正文

语音合成模型sambert和hifigan怎么转为onnx模型?sambert失败

sambert采用torch.onnx.export()时输出一堆warning,但并没有报错,就一直卡在一个warning之后。

1692063869152.png
1692063912229.png
一直卡在最后这个warning处,一晚上都没动。torch执行推理的时候正常,可以完全正常执行完forward,但就是导出onnx不行,求解?

展开
收起
vebrun 2023-08-15 09:52:03 269 0
1 条回答
写回答
取消 提交回答
  • 是个只会写bug的程序媛啊!!!

    要将语音合成模型 SamBERT 和 HiFi-GAN 转换为 ONNX 模型,您可以按照以下步骤进行操作:

    1. 确保已经安装了所需的软件和库。您需要安装 TensorFlow、PyTorch 和 ONNX。同时,确保您的 Python 环境中已经安装了必要的库,如 pip install tensorflow[cpu] 和 pip install torch torchvision torchaudio。
    2. 下载或克隆 SamBERT 和 HiFi-GAN 的源代码。
    3. 对于 SamBERT,您需要按照官方文档提供的指南进行预训练和微调。如果您已经有了预训练的 SamBERT 模型,可以跳过这一步。
    4. 对于 HiFi-GAN,您需要按照官方文档提供的指南进行训练。同样,如果您已经有了训练好的 HiFi-GAN 模型,可以跳过这一步。
    5. 对于每个模型,找到其源代码中提供的导出模型为 ONNX 的函数。通常,这些函数会使用 PyTorch 的 torch.onnx.export() 函数。
    6. 在运行导出函数之前,确保您已经正确设置了模型的输入和输出。您需要提供输入的音频文件或音频数据作为模型的输入,并指定期望的输出格式。
    7. 运行导出函数,将模型保存为 ONNX 格式的文件。
      ```

      导出 SamBERT 为 ONNX 模型

      torch.onnx.export(sambert_model, input_audio, "sambert_model.onnx")

    导出 HiFi-GAN 为 ONNX 模型

    torch.onnx.export(hifigan_model, input_audio, "hifigan_model.onnx")
    ```

    请注意,上述代码中的 sambert_model 和 hifigan_model 是您已经训练好的 SamBERT 和 HiFi-GAN 模型的实例,input_audio 是用于导出模型的输入音频数据或文件。

    关于您的 SamBERT 导出失败的问题,您可以尝试以下方法来解决:

    1. 检查 SamBERT 的版本和配置是否与文档一致。确保您使用的是与文档兼容的版本和配置。
    2. 检查输入的音频数据是否符合 SamBERT 的要求。确保输入的音频数据格式、采样率和其他参数与 SamBERT 所接受的输入匹配。
    3. 检查是否有任何错误或警告信息在运行导出函数时出现。这些信息可以帮助您定位问题。
    4. 如果以上方法都没有解决问题,您可以尝试在 SamBERT 的开发者社区或相关论坛上寻求帮助。开发者可能能够提供更具体的指导和解决方案。

    希望这些信息能够帮助您将 SamBERT 和 HiFi-GAN 转换为 ONNX 模型。如果您有任何其他问题,请随时提问。

    2023-08-15 11:09:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载