Skip to content

Conversation

@inc4dge
Copy link

@inc4dge inc4dge commented Dec 8, 2025

修改了数学公式从
“H_{out} = \frac{(H_{in} + stride[0] - 1)}{stride[0]}
W_{out} = \frac{(W_{in} + stride[1] - 1)}{stride[1]}”

“H_{out} = \lceil \frac{H_{in}}{stride[0]} \rceil
W_{out} = \lceil \frac{W_{in}}{stride[1]} \rceil”

Correct mathematical equations for output height and width calculations in Conv2D documentation.
@paddle-bot
Copy link

paddle-bot bot commented Dec 8, 2025

感谢你贡献飞桨文档,文档预览构建中,Docs-New 跑完后即可预览,预览链接:http://preview-pr-7664.paddle-docs-preview.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html
预览工具的更多说明,请参考:飞桨文档预览工具

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

📚 本次 PR 文档预览链接(点击展开)
ℹ️ 预览提醒
请等待 Docs-NEW 流水线运行完成后再点击预览链接,否则可能会看到旧版本内容或遇到链接无法访问的情况。

@luotao1 luotao1 added the HappyOpenSource 快乐开源活动issue与PR label Dec 8, 2025
Copy link
Collaborator

@sunzhongkai588 sunzhongkai588 left a comment

Choose a reason for hiding this comment

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

想问下,为什么要改成这样的公式?

@inc4dge
Copy link
Author

inc4dge commented Dec 22, 2025

想问下,为什么要改成这样的公式?

导师您好,

因为原公式 "H_out = (H_in + stride - 1) / stride" 的主要问题在于它只考虑了步长,完全忽略了卷积核大小对输出尺寸的影响。同时,由于缺乏明确的取整规则,在多数情况下会得到小数结果(如输入32、步长3时得到10.66),导致输出尺寸模糊不清,从而引发计算错误。

例如,当输入尺寸为32×32,卷积核为3×3,步长为2时:

  • 原公式计算:
    "(32+2-1)/2 = 16.5",取整后为16或17,结果不确定
  • 实际正确结果应为16

修改后的公式
"H_out = ceil(H_in / stride)" 采用了向上取整的思路,这确保了所有输入像素都能被有效利用。以输入32、步长3为例:

  • 新公式计算:
    "ceil(32/3) = ceil(10.66) = 11"
  • 这个结果明确且与主流深度学习框架的实现保持一致

向上取整的逻辑保证了即使最后剩余不足一个步长的像素区域,也会通过填充方式生成一个完整的输出位置,从而避免信息丢失。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor HappyOpenSource 快乐开源活动issue与PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants