深度学习-TF、keras两种padding方式:vaild和sam

前言

在使用Keras的时候会遇到这样的代码x = Conv2D(filters, kernel_size=5, strides=2, padding=‘same’)(x),与pytorch不同,keras和TensorFlow设置卷积层的过程中可以设置padding参数,vaild和same。“valid”代表只进行有效的卷积,对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。

分析

那vaild和same有什么区别,两者本质区别就是padding过程中采取的策略不同。

在这里插入图片描述
上面是按照1D的形式来进行讲解的,2D的形式原理也相同。

在这里插入图片描述

input = layers.Input(shape=(230, 230, 3))
print(input.shape)
>>(?, 230, 230, 3)

x = layers.Conv2D(64, (7, 7),strides=(2, 2),padding='valid',kernel_initializer='he_normal',name='conv1')(x)
print(x.shape,math.ceil((230-7+1)/2))
>>(?, 112, 112, 64) 112
input = layers.Input(shape=(230, 230, 3))
print(input.shape)
>>>>(?, 230, 230, 3)

x = layers.Conv2D(64, (7, 7),strides=(2, 2),padding='same',kernel_initializer='he_normal',name='conv1')(x)
print(x.shape,math.ceil(230/2))
>>(?, 115, 115, 64) 115
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值