RVC-Boss / GPT-SoVITS

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)
MIT License
35.83k stars 4.09k forks source link

添加导出成 TorchScript 的脚本用于支持python以外的语言 #1640

Closed L-jasmine closed 1 month ago

L-jasmine commented 1 month ago

基于 onnx_export 通过穿插 torch.jit.scripttorch.jit.export 把 T2S(torch.jit.script) 和 Vits(torch.jit.export) 组合成一个整的 GPTSovits 模型导出。 同时还导出了流程中用到的 bert 和 ssl

这样就可以在别的语言通过 libtorch 来运行了。按理来说导出成 TorchScript 之后就可以导出成 onnx,不过我没试过。我想 libtorch 和 onnx 应该差不多。

这个 PR 的改动非常多。但是我尽量没有改动 onnx 以外的部分。所以应该不会对 webui 的逻辑产生影响。 如果有什么不好的地方可以@我修改

L-jasmine commented 1 month ago

发现一些问题,请先不要merge 改好了

RVC-Boss commented 1 month ago

代码不要和t2s_model.py合在一起,建议另开文件

L-jasmine commented 1 month ago

代码不要和t2s_model.py合在一起,建议另开文件

已经改好了

L-jasmine commented 1 month ago

@RVC-Boss 大佬 review 一下 谢谢

juntaosun commented 1 month ago

不错,onnx 推理速度怎么样,支持Cuda加速吗?

L-jasmine commented 1 month ago

不错,onnx 推理速度怎么样,支持Cuda加速吗?

这个不是导出成 onnx,原始的导出成onnx 的那个效果不是很好。我这个是导出成 Torch。可以Cuda加速

RVC-Boss commented 1 month ago

感谢楼主的工作!

einsqing commented 1 month ago

不错,onnx 推理速度怎么样,支持Cuda加速吗?

这个不是导出成 onnx,原始的导出成onnx 的那个效果不是很好。我这个是导出成 Torch。可以Cuda加速

有如何使用的代码没?

L-jasmine commented 1 month ago

不错,onnx 推理速度怎么样,支持Cuda加速吗?

这个不是导出成 onnx,原始的导出成onnx 的那个效果不是很好。我这个是导出成 Torch。可以Cuda加速

有如何使用的代码没?

https://github.com/second-state/gpt_sovits_plugin/blob/main/src/tts.rs 可以参考一下这个文件 不过这个是 rust 的