Skip to content

[Accuracy diff No.152] Fix accuracy diff for paddle.vision.ops.deform_conv2d API - #366

Merged
cangtianhuang merged 1 commit into
PFCCLab:mainfrom
co63oc:fix7
Jul 15, 2025
Merged

cangtianhuang merged 1 commit into
PFCCLab:mainfrom
co63oc:fix7

Conversation

@co63oc

@co63oc co63oc commented Jul 13, 2025 •

Copy link
Copy Markdown
Contributor

paddle.vision.ops.deform_conv2d paddle 中 mask和weight如果都为关键字参数,mask需要排在weight后,反向计算grad时是按顺序作为索引
image

PaddleAPITest 测试,错误为torch error,开启test_amp后测试通过
image

@paddle-bot

paddle-bot Bot commented Jul 13, 2025

Copy link
Copy Markdown

Thanks for your contribution!

@co63oc co63oc changed the title [Accuracy diff No.152、153] Fix accuracy diff for paddle.vision.ops.deform_conv2d API [Accuracy diff No.152] Fix accuracy diff for paddle.vision.ops.deform_conv2d API Jul 13, 2025
@cangtianhuang cangtianhuang self-assigned this Jul 14, 2025
@cangtianhuang

Copy link
Copy Markdown
Collaborator

为什么会有这个问题呢🧐?按照测试配置,mask 已经排在 weight 后了

@co63oc

co63oc commented Jul 14, 2025

Copy link
Copy Markdown
Contributor Author

为什么会有这个问题呢🧐?按照测试配置,mask 已经排在 weight 后了

https://github.com/PFCCLab/PaddleAPITest/blob/main/report/ci_ce_gpu/error_config.txt
image
这里的配置mask是在weight的前面

@cangtianhuang

Copy link
Copy Markdown
Collaborator

为什么会有这个问题呢🧐?按照测试配置,mask 已经排在 weight 后了

https://github.com/PFCCLab/PaddleAPITest/blob/main/report/ci_ce_gpu/error_config.txt image 这里的配置mask是在weight的前面

还是不太理解,能看看报错吗?因为这属于 PaddleAPITest 的机制问题,按理说 paddle 与 torch 的输入参数顺序是相同的,反向比较也应该一一对应。

如果存在参数不匹配的问题,需要为所有 API 统一解决。

@co63oc

co63oc commented Jul 15, 2025 •

Copy link
Copy Markdown
Contributor Author

为什么会有这个问题呢🧐?按照测试配置,mask 已经排在 weight 后了

https://github.com/PFCCLab/PaddleAPITest/blob/main/report/ci_ce_gpu/error_config.txt image 这里的配置mask是在weight的前面

还是不太理解,能看看报错吗?因为这属于 PaddleAPITest 的机制问题,按理说 paddle 与 torch 的输入参数顺序是相同的,反向比较也应该一一对应。

如果存在参数不匹配的问题,需要为所有 API 统一解决。

python engine.py --accuracy=True --api_config='paddle.vision.ops.deform_conv2d(x=Tensor([4, 3, 5, 5],"float32"), offset=Tensor([4, 18, 7, 7],"float32"), mask=Tensor([4, 9, 7, 7],"float32"), weight=Tensor([5, 3, 3, 3],"float32"), bias=None, stride=list[1,1,], padding=list[2,2,], dilation=list[1,1,], deformable_groups=1, groups=1, )'

报错
image

修改顺序后通过

python engine.py --accuracy=True --api_config='paddle.vision.ops.deform_conv2d(x=Tensor([4, 3, 5, 5],"float32"), offset=Tensor([4, 18, 7, 7],"float32"), weight=Tensor([5, 3, 3, 3],"float32"), mask=Tensor([4, 9, 7, 7],"float32"), bias=None, stride=list[1,1,], padding=list[2,2,], dilation=list[1,1,], deformable_groups=1, groups=1, )'
image

所有API解决需要为每个API配置需要返回grad的关键字,paddle_out_grads使用关键字记录

@cangtianhuang

Copy link
Copy Markdown
Collaborator

我明白了,已经定位到问题所在,感谢发现问题🫡

这是一个很大的修复,稍后我会对所有 API 做统一修复并回测

@co63oc

co63oc commented Jul 15, 2025

Copy link
Copy Markdown
Contributor Author

我明白了,已经定位到问题所在,感谢发现问题🫡

这是一个很大的修复,稍后我会对所有 API 做统一修复并回测

那当前API怎么标记完成

@cangtianhuang cangtianhuang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此 PR 先合入,后续我再来修复

@cangtianhuang
cangtianhuang merged commit fd843be into PFCCLab:main Jul 15, 2025
@co63oc
co63oc deleted the fix7 branch July 20, 2025 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants