Paddle 语音识别算法PPASR,预测时softmax返回值为NAN

n8ghc7c1  于 2021-11-30  发布在  Java
关注(0)|答案(8)|浏览(328)

1)paddlepaddle2.1.3
2)8G CPU
3)KylinV10 aarch64 Ubuntu python3.6
模型信息:
1)PPASR语音识别
2)模型链接:https://github.com/yeyupiaoling/PPASR/tree/%E5%85%A5%E9%97%A8%E7%BA%A7
3)问题描述:在进行语音识别预测执行infer.py时,出现识别结果为空,查询时发现,out = paddle.nn.functional.softmax(out, 1)将tensor处理为NAN,tensor输出如下图:

但是该问题在GPU rtx3090运行时,并没有出现。

agyaoht7

agyaoht71#

这个链接下是一个代码仓库,并不是单纯的模型下载链接。
麻烦提供一下剥离业务代码的单测供复现,可以参考:https://github.com/PaddlePaddle/Paddle-Inference-Demo
初步推荐问题应该为硬件相关,可以提供下当前硬件环境的详细信息。并检查paddle当前版本是否与硬件环境对应,进行预测时是否有硬件相关参数未开启。
arm平台可参考:https://paddleinference.paddlepaddle.org.cn/user_guides/compile_ARM.html

vwhgwdsa

vwhgwdsa2#

@wangyhnudt 在模型和代码没有变的情况下,使用GPU rtx3090运行是没有问题,只有在使用KylinV10 aarch64的时候出现问题,是这个意思吗?

r8xiu3jd

r8xiu3jd3#

@yeyupiaoling 是的,GPU上没问题 Kylinv10上没有显卡和加速卡,仅有CPU

zpqajqem

zpqajqem4#

@yeyupiaoling 同时在GPU服务器上屏蔽了GPU仅用CPU运行也没有出现这个问题,但是paddle的版本依然是2.1.3的GPU版本

u4vypkhs

u4vypkhs5#

@wangyhnudtout = paddle.nn.functional.softmax(out, 1)之前的out输出是正常的,在之后out就为NAN了,那可以怀疑是paddle.nn.functional.softmax()API 的问题。
我看到你的CPU是aarch64,那么你安装的Paddle版本应该也是aarch64,而不是平时的x86的,所有应该是这种版本下的paddle.nn.functional.softmax()API 的问题

nr9pn0ug

nr9pn0ug6#

要不你使用进阶级,或者参考进阶级分支把paddle.nn.functional.softmax()导入到模型中,在推理直接使用。

weylhg0b

weylhg0b7#

在最终级是使用了Paddle Inference接口,测试过了在aarch64是可以的。但目前不稳定,随时会更新覆盖原来代码和模型。

btxsgosb

btxsgosb8#

@yeyupiaoling 好的,我去试一试

相关问题