Paddle
Paddle copied to clipboard
【PaddlePaddle Hackathon 3 No.9】为 Paddle 新增 Laplace API
PR types
New features
PR changes
APIs
Describe
新增laplace分布api;历史commit: https://github.com/PaddlePaddle/Paddle/pull/44579#issue-1316379129 设计文档:https://github.com/PaddlePaddle/community/pull/190#issue-1318006124
你的PR提交成功,感谢你对开源项目的贡献! 请关注后续CI自动化测试结果,详情请参考Paddle-CI手册。 Your PR has been submitted. Thanks for your contribution! Please wait for the result of CI firstly. See Paddle CI Manual for details.
- 需要按照活动要求的格式修改下pr标题,方便统计~
- 需要补充中文文档到 docs repo
解决CI失败中问题
修改PR标题,一句话描述清楚你的工作
参考 test_distribution_multinomial_static
增加静态图测试(测试用例保持和动态图一致)
@cxxly 你好,有两个疑问:
- 请问PR-CI-Static-Check这个CI的错误原因具体是啥?
是要人工aprroval才能通过吗?样例代码已经按照标准修改了还是没过。
- 动态图单测里面有个ks test是需要Laplace sample返回一维结果,前提是loc和scale都是0维的,但是静态图里面variable好像无法传入0维参数?其他api的静态图单测没有看到类似的用例,所以这个单测我先注释掉了,辛苦看下是否保留以及需要怎样的修改。https://github.com/PaddlePaddle/Paddle/pull/44913/files#diff-dd8c71861caea3d18f6f55dd112e84257efb9c51d8e7f9d91ef0c85ca5df6e39R238
@cxxly 你好,有两个疑问:
- 请问PR-CI-Static-Check这个CI的错误原因具体是啥?
是要人工aprroval才能通过吗?样例代码已经按照标准修改了还是没过。
- 动态图单测里面有个ks test是需要Laplace sample返回一维结果,前提是loc和scale都是0维的,但是静态图里面variable好像无法传入0维参数?其他api的静态图单测没有看到类似的用例,所以这个单测我先注释掉了,辛苦看下是否保留以及需要怎样的修改。https://github.com/PaddlePaddle/Paddle/pull/44913/files#diff-dd8c71861caea3d18f6f55dd112e84257efb9c51d8e7f9d91ef0c85ca5df6e39R238
- 需要approve 2) 可以先注释掉,备注上注释掉原因。静态图目前还不支持创建零维Tensor,在改进中,
- 需要按照活动要求的格式修改下pr标题,方便统计~
- 需要补充中文文档到 docs repo
@Ligoml
- Done
- 中文api文档:https://github.com/PaddlePaddle/docs/pull/5214
@cxxly 单测的时候发现sample函数的采样有时会出现inf的结果,公式和torch以及tensorflow的框架都是一样的,请教一下这是什么原因?已经把采样上下限缩小了eps / 2,还是不能避免这个问题。
@cxxly 单测的时候发现sample函数的采样有时会出现inf的结果,公式和torch以及tensorflow的框架都是一样的,请教一下这是什么原因?已经把采样上下限缩小了eps / 2,还是不能避免这个问题。
这个不太好直接判断,不排除Paddle OP本身可能存在缺陷,需要Debug。 建议 1)在 rsample方法中每一步操作,加上日志,打印每个OP的输入、输出数据 2)因为是随机性问题,重复执行 rsample,直到复现上述问题 3)根据日志定位是写法问题还是OP存在BUG,定位到具体OP 4)如果是写法错误,修改即可;如果是OP存在BUG,提交issue
另外,我在linux机器上没有复现,是只有Windows存在上述问题吗?自己先尝试定位问题,如果无法定位或问题解决不了,再进一步交流
@cxxly 单测的时候发现sample函数的采样有时会出现inf的结果,公式和torch以及tensorflow的框架都是一样的,请教一下这是什么原因?已经把采样上下限缩小了eps / 2,还是不能避免这个问题。
这个不太好直接判断,不排除Paddle OP本身可能存在缺陷,需要Debug。 建议 1)在 rsample方法中每一步操作,加上日志,打印每个OP的输入、输出数据 2)因为是随机性问题,重复执行 rsample,直到复现上述问题 3)根据日志定位是写法问题还是OP存在BUG,定位到具体OP 4)如果是写法错误,修改即可;如果是OP存在BUG,提交issue
另外,我在linux机器上没有复现,是只有Windows存在上述问题吗?自己先尝试定位问题,如果无法定位或问题解决不了,再进一步交流
感谢@cxxly。我这边debug了一下,paddle.uniform()
的实现可能存在问题,具体在这个issue https://github.com/PaddlePaddle/Paddle/issues/45713#issue-1360735914 提出了,辛苦有空看下。Laplace我强制paddle.uniform
生成的数据类型和self.loc
一致,并缩小上下界,暂时回避了这个问题,目前没有再出现inf的结果。
英文API文档的部分需要和中文部分对齐哈,现在缺少了公式和name参数的介绍
英文API文档的部分需要和中文部分对齐哈,现在缺少了公式和name参数的介绍
Done.
API文档规范请参考:https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/dev_guides/api_contributing_guides/api_docs_guidelines_cn.html