-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[S2T]Wav2vec2多条语音推理,只能得到最后一条语音的预测结果 #3983
Comments
感觉是你的用法不太正确,在使用 多条使用的话建议参考#3957 中我在最后给出的示例,将 具体 |
我看了的SSLExecutor代码,里面audio_file参数好像只支持单条语音文件,不是多条语音同时推理的吧。按照我提供的代码修改方式后 |
audio_file 只支持单条语音,因此你可以看到我在 issue 中给出的示例是通过 for 循环进行了嵌套,我理解这部分应该没有什么问题。 另外你现在的用法我理解本质上是将多条语音进行了合并推理,在总时长过长的情况下是无法保证模型精度的。 |
哦哦原来你是这个意思,issue但是for循环嵌套每次推理的也是单条语音。我的客户是想要一次推理n条语音,在修改前,我将4条语音转为一个batch为4的张量输入,model.decode出来的结果只有最后一条语音的。就是因为decode代码里的for循环,每次都会覆盖之前的结果。这样的代码如果你觉得是没问题的那我就close这条issue了,我已经实现我想要的功能了,只是觉得decode的代码可以像这样小改一下。 |
如果是指多batch size的推理,这部分确实还没有做完善的支持,后续优化的时候会参考您的建议,感谢您的支持:D |
执行以下代码,只能得到最后一条语音的结果:
查看源代码
paddlespeech\s2t\models\wav2vec2\wav2vec2_ASR.py
发现是由于该段代码的问题:从tmp_res = []开始就把他写出了循环外,所以最后只能得到最后一条语音的结果。将该部分代码移入循环内即可解决。想提PR但是网有点不好,总是报错time out
The text was updated successfully, but these errors were encountered: