Tensorflow在模式‘valid‘下的卷积输出大小

本文探讨了Tensorflow在'valid'模式下卷积输出大小的计算,通过数学证明解释了两种计算公式是等价的,并提供了在'same'模式下padding的计算方法。
摘要由CSDN通过智能技术生成

Tensorflow在模式’valid’下的卷积输出大小

假定 W \text{W} W为图片的输入尺寸, K \text{K} K为卷积核的大小, S \text{S} S为stride的大小。

在’valid’模式下(没有padding),卷积输出的feature map常见计算公式为

⌊ W − K S ⌋ + 1 \lfloor \frac{\text{W}-\text{K}}{\text{S}} \rfloor + 1 SWK+1

其中, ⌊ ⋅ ⌋ \lfloor \cdot \rfloor 表示向下取整,如 ⌊ 3.4 ⌋ = 3 \lfloor 3.4 \rfloor = 3 3.4=3

tensorflow官网的计算公式却是
⌈ W − K + 1 S ⌉ \lceil \frac{\text{W}-\text{K}+1}{\text{S}} \rceil SWK+1
其中, ⌈ ⋅ ⌉ \lceil \cdot \rceil 表示向下取整,如 ⌈ 3.4 ⌉ = 4 \lceil 3.4 \rceil = 4 3.4=4

这两个计算公式哪个是对的呢?

其实都是对的,因为它们是等价的,下面来证明:

X = W − K \text{X}=\text{W}-\text{K} X=WK,然后分三种情况讨论:

  1. X S \frac{\text{X}}{\text{S}} SX为整数,显然有
    ⌊ X S ⌋ + 1 = X S + 1 ⌈ X + 1 S ⌉ = ⌈ X S + 1 S ⌉ = X S + ⌈ 1 S ⌉ = X S + 1 ⟹ ⌊ X S ⌋ + 1 = ⌈ X + 1 S ⌉ \begin{aligned} \lfloor \frac{\text{X}}{\text{S}} \rfloor +1&=\frac{\text{X}}{\text{S}} +1 \\ \lceil \frac{\text{X}+1}{\text{S}} \rceil &= \lceil \frac{\text{X}}{\text{S}} + \frac{1}{\text{S}} \rceil = \frac{\text{X}}{\text{S}} + \lceil \frac{1}{\text{S}} \rceil=\frac{\text{X}}{\text{S}} + 1 \end{aligned} \Longrightarrow \lfloor \frac{\text{X}}{\text{S}} \rfloor +1=\lceil \frac{\text{X}+1}{\text{S}} \rceil SX+1SX+1=SX+1=SX+S1=SX+S1=SX+1S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值