Skip to content

Conversation

kafaichan
Copy link

@kafaichan kafaichan commented Sep 27, 2023

PR types

New features

PR changes

APIs

Description

python/paddle/init.py
python/paddle/linalg.py
python/paddle/tensor/linalg.py
test/legacy_test/test_vdot_op.py

#57262

@paddle-bot
Copy link

paddle-bot bot commented Sep 27, 2023

你的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.

@paddle-bot paddle-bot bot added the contributor External developers label Sep 27, 2023
@paddle-bot
Copy link

paddle-bot bot commented Sep 27, 2023

❌ The PR is not created using PR's template. You can refer to this Demo.
Please use PR's template, it helps save our maintainers' time so that more developers get helped.

@kafaichan
Copy link
Author

kafaichan commented Sep 28, 2023

@luotao1 @cyber-pioneer 你好,
请问能否提示一下 PR-CI-ROCM-Compile, PR-CI-Static-Check该如何修正错误,才可以通过呢?😥

代码风格检测和自动format,建议本地安装 pre-commit 2.17.0版本

@paddle-ci-bot
Copy link

paddle-ci-bot bot commented Oct 7, 2023

Sorry to inform you that 4d0d0fa's CIs have passed for more than 7 days. To prevent PR conflicts, you need to re-run all CIs manually.

@cyber-pioneer
Copy link
Contributor

请补充关于vdot求自动微分的测试

@cyber-pioneer
Copy link
Contributor

@luotao1 @cyber-pioneer 你好, 请问能否提示一下 PR-CI-ROCM-Compile, PR-CI-Static-Check该如何修正错误,才可以通过呢?😥

解决一下冲突,ci重新rerun一下,再看看

@kafaichan
Copy link
Author

kafaichan commented Oct 14, 2023

请补充关于vdot求自动微分的测试

@cyber-pioneer 我已增加反向的梯度测试,但是反向op调用check_grad时,float64总是过不了精度的要求,我已检查梯度计算的代码应是正确的,请问我还可以从什么地方着手解决此问题呢?

另外,基于dot算子和vdot算子的相似性,我把test_dot_op.py中的DotOpBatch放大10倍(如下图所示),发现dot算子其实也有类似的问题,请问是不是开发团队默认接纳了此问题?
image

image

@cyber-pioneer
Copy link
Contributor

请补充关于vdot求自动微分的测试

@cyber-pioneer 我已增加反向的梯度测试,但是反向op调用check_grad时,float64总是过不了精度的要求,我已检查梯度计算的代码应是正确的,请问我还可以从什么地方着手解决此问题呢?

另外,基于dot算子和vdot算子的相似性,我把test_dot_op.py中的DotOpBatch放大10倍(如下图所示),发现dot算子其实也有类似的问题,请问是不是开发团队默认接纳了此问题? image

image

从这里的描述来看,精度误差可能由dot引起,最好进一步深入定位一下dot精度异常的详细case以及原因(gpu&cpu,fp32/64, 前向/反向,shape, 不同平台算子实现的逻辑差异 等等)

@cyber-pioneer
Copy link
Contributor

image 代码实现是新增kernel,与设计方案里面用现有api组合的方案不一样,是基于怎样的考虑呢?

@kafaichan
Copy link
Author

kafaichan commented Oct 17, 2023

image 代码实现是新增kernel,与设计方案里面用现有api组合的方案不一样,是基于怎样的考虑呢?

主要是写测试用例时,我想直接调用OpTest类里的check_grad方法,但是如果我不把vdot注册在kernel就用不了😅

@paddle-ci-bot
Copy link

paddle-ci-bot bot commented Oct 22, 2023

Sorry to inform you that 7bfb03a's CIs have passed for more than 7 days. To prevent PR conflicts, you need to re-run all CIs manually.

@cyber-pioneer
Copy link
Contributor

image 代码实现是新增kernel,与设计方案里面用现有api组合的方案不一样,是基于怎样的考虑呢?

主要是写测试用例时,我想直接调用OpTest类里的check_grad方法,但是如果我不把vdot注册在kernel就用不了😅
对于组合算子的情况,在写单侧时,可以用numpy去写前反向逻辑,和算子api的前反向结果比较。

@cyber-pioneer
Copy link
Contributor

请补充关于vdot求自动微分的测试

@cyber-pioneer 我已增加反向的梯度测试,但是反向op调用check_grad时,float64总是过不了精度的要求,我已检查梯度计算的代码应是正确的,请问我还可以从什么地方着手解决此问题呢?
另外,基于dot算子和vdot算子的相似性,我把test_dot_op.py中的DotOpBatch放大10倍(如下图所示),发现dot算子其实也有类似的问题,请问是不是开发团队默认接纳了此问题? image
image

从这里的描述来看,精度误差可能由dot引起,最好进一步深入定位一下dot精度异常的详细case以及原因(gpu&cpu,fp32/64, 前向/反向,shape, 不同平台算子实现的逻辑差异 等等)

报错信息里看cpu的精度可能有问题,这种情况可以测试所有平台的case,如果gpu没问题可以合入,需要在PR描述里说明情况

@cyber-pioneer
Copy link
Contributor

建议可以简化一下vdot实现,在python层用其他算子组。单侧无法复用optest,可以自定义一个算子单侧,无需强制继承optest

@luotao1
Copy link
Contributor

luotao1 commented Dec 26, 2023

黑客松第5期已公示名单,感谢参与!

@luotao1 luotao1 closed this Dec 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants