Tensorflow池化

  1. Tensorflow最大池化
  • Tensorflow提供tf.nn.max_pool()函数用于对卷积层实现最大池化
conv_layer = tf.nn.conv2d(input, weight, strides=[1, 2, 2, 1], padding='SAME')
conv_layer = tf.nn.bias_add(conv_layer, bias)
conv_layer = tf.nn.relu(conv_layer)
# Apply Max Pooling
conv_layer = tf.nn.max_pool(
   conv_layer,
   ksize=[1, 2, 2, 1],
   strides=[1, 2, 2, 1],
   padding='SAME')

ksize参数是滤波器大小,strides参数时步长.22的滤波器配合22的步长时常用设定.ksize 和 strides 参数也被构建为四个元素的列表,每个元素对应 input tensor 的一个维度 ([batch, height, width, channels]),对 ksize 和 strides 来说,batch 和 channel 通常都设置成 1。

  • 池化层的缺点:
  1. 现在的数据集又大又复杂,我们更关心欠拟合问题。
  2. Dropout 是一个更好的正则化方法。
  3. 池化导致信息损失。想想最大池化的例子,n 个数字中我们只保留最大的,把余下的 n-1 完全舍弃了。
  • 池化之后新的宽和高的计算公式:

设置H = height, W = width, D = depth

  • 输入维度是 4x4x5 (HxWxD)
  • 滤波器大小 2x2 (HxW)
  • stride 的高和宽都是 2 (S)
  • new_height = (input_height - filter_height)/S + 1
  • new_width = (input_width - filter_width)/S + 1
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值