Open WhiteFireFox opened 2 years ago
您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档、常见问题、历史Issue、AI社区来寻求解答。祝您生活愉快~
Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the API,FAQ,Github Issue and AI community to get the answer.Have a nice day!
Mark
https://github.com/WhiteFireFox/rnnt/tree/main/paddle 这里好像少了 setup.py 文件
https://github.com/WhiteFireFox/rnnt/tree/main/paddle 这里好像少了 setup.py 文件
不好意思,打包的时候忘了,已经更新上去了,辛苦您们再查收一遍
https://github.com/WhiteFireFox/rnnt/tree/main/paddle 这里好像少了 setup.py 文件
不好意思,打包的时候忘了,已经更新上去了,辛苦您们再查收一遍
刚刚更新了paddle/binding.cc文件,与aistudio上面的对应上了,辛苦您们查收,给大佬磕头了
已经分配到相关同学
非常感谢您的帮助
请问这个算子,在C++代码实现中有随机数相关的逻辑吗
请问这个算子,在C++代码实现中有随机数相关的逻辑吗
C++代码实现中没有随机数相关,随机数是在python里已经取到了,paddle/pytorch都是用的numpy取的后再转Tensor,最后进的C++算子中进行运算
好的,我复现一下再和您沟通
同步一下进展,在测试脚本中,我看paddle和torch的写法不太一样,就把paddle的对应更新了一下,单测就没有diff了,麻烦您确认下是不是这样,更改如下
但是我把torch的改成和之前paddle一样的写法,这里也是能过的,更改如下
这说明paddle这里可能存在什么隐性的bug,我还需要继续追查,如果您比较着急,可以先试试按上图更新写法后继续您的工作,不阻塞就好
有点奇怪,我这边test不过去,附上项目链接,可以帮忙看一下吗:https://aistudio.baidu.com/aistudio/projectdetail/3448565
好的,我明天在2.2上分析一下再回复您,可能是我这边用的是develop版本导致的
好的,我明天在2.2上分析一下再回复您,可能是我这边用的是develop版本导致的
好,那我尝试下develop版本后再给您回复,太感谢您了
好的,我明天在2.2上分析一下再回复您,可能是我这边用的是develop版本导致的
是的,在develop版本上面没有问题了,谢谢你了,确实2.2和develop有区别。
好的,我明天在2.2上分析一下再回复您,可能是我这边用的是develop版本导致的
是的,在develop版本上面没有问题了,谢谢你了,确实2.2和develop有区别。
在c++的实现中,rnnt这个算子在并行运算中需要取某个位置的数出来运算,取数的index是根据同一时刻载入gpu中推算得到的,会不会是这个问题导致的?
2.2.2会报那个错误是由于在执行rnnt_loss之前,没有切换会gpu device导致的,2.2.2中tensor的stream是在当前全局place为gpu place时才会设置,而develop近期在自定义算子上有比较大的重构,取stream这里改为直接取全局默认stream了,所以develop不会报错
所以,在2.2要避免上面那个报错的话,需要把place改回来
develop近期对自定义算子的改动主要是,支持在自定义算子中调用C++ API,提升易用程度,目前基于develop版本,也可以使用paddle::experimental::empty
, paddle::experimental::zeros_like
等接口(因为API还不太稳定,暂时加experimental),参数基本和Python一致,目前接口还在不断补充中,预计2.3版本体系会比较完善,有兴趣您也可以试用
develop近期对自定义算子的改动主要是,支持在自定义算子中调用C++ API,提升易用程度,目前基于develop版本,也可以使用
paddle::experimental::empty
,paddle::experimental::zeros_like
等接口(因为API还不太稳定,暂时加experimental),参数基本和Python一致,目前接口还在不断补充中,预计2.3版本体系会比较完善,有兴趣您也可以试用
好的,这个C++ API期待已久了,期待您们的更新,但是有没有办法不用再在前面加set_device("cpu")这种操作呢,也想知道为啥先set_device("cpu")再.cuda就正常了。
嗯嗯,这个我还会继续追查,有进展再和您同步
非常感谢@chenwhql @xingfeng01 两位大佬这近些天的支持
嗯嗯,这个我还会继续追查,有进展再和您同步
好的,感谢大佬们这些天的支持,期待您们的进展,使得python那边的coding更加简洁高效~
问题描述在这个仓库的readme里面,真的非常辛苦大佬了,在这里给各位大佬磕头了:
https://github.com/WhiteFireFox/rnnt