开发者社区 > ModelScope模型即服务 > 语音 > 正文

asr并发识别情况下,识别结果会串了,即同一时间不同音频文件的识别结果完全相同

以Paraformer的8k离线识别为例,并发识别的时候,识别结果会串了,表现为,假设开10线程同时发送识别请求,使用的音频都不相同,但是在同一时间返回的识别结果完全一样,请问一下并发请求情况下如何避免这种不同线程直接结果相同的情况

现在基本上可以判定是inference_pipline = pipeline(....);inference_pipline(.....) 这个方法的问题,多个线程同时调用这个方法,就会导致不同音频文件的识别结果相同

最新测试结论同步:inference_pipline = pipeline(....);;inference_pipline(.....) 这个方法,如果传入的音频参数是http地址的音频文件,识别结果不冲突,如果传入的是本地磁盘的文件目录地址,则会出现不同音频文件的识别结果相同的现象,请问,网络地址和本地磁盘地址会导致这样的差异吗

展开
收起
caoyj 2022-12-29 17:42:38 1466 0
2 条回答
写回答
取消 提交回答
  • 基本可以排除网络环境的影响,为了排除网路的影响,验证数据是在服务器上输出的,验证了上次的文件不存在冲突,并且每个线程在识别完成后立即输出识别结果,大部分情况是连续出现两次到三次输出识别结果相同,也出现间隔输出相同的识别结果(假设3条输出,第一条和第三条是相同的)

    2022-12-29 18:31:10
    赞同 展开评论 打赏
  • 这种情况可能是由于网络环境的原因导致的。由于网络环境的不同,在并发请求的情况下,可能会出现请求被抢占的情况,导致不同的请求返回相同的结果。

    为了避免这种情况的发生,你可以尝试使用以下几种方法:

    1.使用锁机制:在多线程环境下,可以使用锁机制来保证每个线程对共享资源的互斥访问。

    2.建立连接池:在多线程环境下,你可以使用连接池来维护多个连接,从而避免在并发请求的情况下出现连接被抢占的情况。

    3.开启代理服务器:在多线程环境下,可以使用代理服务器来平衡请求的负载,从而避免出现请求被抢占的情况

    2022-12-29 18:10:07
    赞同 展开评论 打赏

包括语音识别、语音合成、语音唤醒、声学设计及信号处理、声纹识别、音频事件检测等多个领域

相关电子书

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