卷积神经网络之padding计算

本文介绍了卷积神经网络中padding的SAME和VALID两种模式的计算方法,详细阐述了TensorFlow和PyTorch中如何处理padding。在VALID模式下,输出大小由输入大小减去卷积核大小并向上取整;在SAME模式下,首先计算输出形状,然后进行padding。PyTorch的ZeroPad2d允许直接指定padding大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

padding的模式分为SAME和VALID两种方式。下面简单介绍一下两种方式输出shape的计算方法。

tensorflow

VALID

计算公式:
out_height = out_width = out_width = out_height =\left \lceil\frac{input_size - kernel_size + 1}{strides} \right \rceil输出的大小直接用输入的大小减去卷积核大小,加1,然后除以步长,最后对结果向上取整。
假如输入的shape为7x7的,卷积核的大小为3x3,步长为2,这样计算出的输出shape为:3x3。对于边界上没有取到的数据直接舍弃掉。

SAME

计算公式
在这里插入图片描述
第一步,先用输入的大小除以步长,对结果向上取整。得到输出的shape。例如,input shape是7x7,kernel为3x3,stride为2。则输出的shape为:4x4。注意:padding为Same,strides为1的时候,输入与输出的shape是相等的。
第二步,根据输出shape对输入进行padding的操作。继续上一步的例子,7除以2向上取整为4,就需要将输入的shape通过padding扩展到8x8。当padding的数量为奇数的时候,在tensorflow中会在后面多padding一些。

pytorch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值