本文是《TensorFlow从浅入深》系列之第12篇

TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法)

TensorFlow从浅入深系列之二 -- 教你通过思维导图深度理解深层神经网络

TensorFlow从浅入深系列之三 -- 教你如何对MNIST手写识别

TensorFlow从浅入深系列之四 -- 教你深入理解过拟合问题(正则化)

TensorFlow从浅入深系列之五 -- 教你详解滑动平均模型

TensorFlow从浅入深系列之六 -- 教你深入理解经典损失函数(交叉熵、均方误差)

TensorFlow从浅入深系列之七 -- 教你使用验证数据集判断模型效果

TensorFlow从浅入深系列之八 -- 教你学会变量管理

TensorFlow从浅入深系列之九 -- 教你认识图像识别中经典数据集

TensorFlow从浅入深系列之十 -- 教你认识卷积神经网络的基本网路结构及其与全连接神经网络的差异

TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层

池化层在两个卷积层之间,可以有效的缩小矩阵的尺寸(也可以减小矩阵深度,但实践中一般不会这样使用),co。池从而减少最后全连接层中的参数。

池化层既可以加快计算速度也可以防止过度拟合问题的作用。

池化层也是通过一个类似过滤器结构完成的,计算方式有两种:

  1. 最大池化层:采用最大值操作计算的池化层
  2. 平均池化层:使用平均值操作计算的池化层

池化层的过滤器也需要人工设定过滤器的尺寸、是否使用全0填充以及过滤器移动的步长等设置。

过滤器只影响一个深度上的节点,所以它需要在深度这个维度移动,这一点与卷积层不同,卷积层的过滤器是横跨整个深度的。

图6-14展示了一个最大池化层的过程:


下边例子是TensorFlow程序实现最大池化层:

# TF.nn.max_pool()实现了最大池化层,参数和tf.nn.conv2d类似
# ksize提供了过滤器的尺寸,strides提供了步长信息,padding提供了是否使用全0填充。
pool = tf.nn.max_pool(actived_conv, ksize = [1, 3, 3, 1], strides = [1, 2, 2, 1], padding = 'SAME')

第一个参数输入当前层的节点矩阵,这个矩阵是一个思维矩阵。

第二个参数过滤器(ksize)的尺寸是一个长度为4的一维数组,但是这个数组的第一个和最后一数必须为1。这意味着池化层的过滤器是不可以跨不同输入样例或者节点矩阵深度的。实际应用中,使用最多的过滤器尺寸为[1, 2, 2, 1]或者[1, 3, 3, 1]。

第三个参数strides步长,和tf.nn.conv2d函数中步长意义相同,第一维和最后一维也只能为1。

第四个参数padding表示是否用qu全0填充,'VALID'表示不填充,'SAME'表示用0填充

TensorFlow还提供了tf.nn.avg_pool()来实现平均池化层。tf.nn.avg_pool函数的调用格式和tf.nn.max_pool函数是一致的。

【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层相关推荐

  1. 【TensorFlow】TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层

    本文是<TensorFlow从浅入深>系列之第11篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  2. 【TensorFlow】TensorFlow从浅入深系列之十三 -- 教你深入理解模型持久化(模型保存、模型加载)

    本文是<TensorFlow从浅入深>系列之第13篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  3. 【TensorFlow】TensorFlow从浅入深系列之十 -- 教你认识卷积神经网络的基本网路结构及其与全连接神经网络的差异

    本文是<TensorFlow从浅入深>系列之第10篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  4. 【TensorFlow】TensorFlow从浅入深系列之九 -- 教你认识图像识别中经典数据集

    本文是<TensorFlow从浅入深>系列之第9篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  5. 【TensorFlow】TensorFlow从浅入深系列之八 -- 教你学会变量管理

    本文是<TensorFlow从浅入深>系列之第8篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  6. 【TensorFlow】TensorFlow从浅入深系列之七 -- 教你使用验证数据集判断模型效果

    本文是<TensorFlow从浅入深>系列之第7篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  7. 【TensorFlow】TensorFlow从浅入深系列之六 -- 教你深入理解经典损失函数(交叉熵、均方误差)

    本文是<TensorFlow从浅入深>系列之第6篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  8. 【TensorFlow】TensorFlow从浅入深系列之五 -- 教你详解滑动平均模型

    本文是<TensorFlow从浅入深>系列之第5篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  9. 【TensorFlow】TensorFlow从浅入深系列之四 -- 教你深入理解过拟合问题(正则化)

    本文是<TensorFlow从浅入深>系列之第4篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

最新文章

  1. python数组每个元素加1_python-根据键转换numpy数组中的每个元素
  2. 回归测试——游戏版本发布前的最后关口
  3. mysql 存储过程求和_MySQL - 存储过程和函数
  4. 英语学习笔记2019-11-08
  5. 启动ubuntu无反应_奔驰E200轿车启动无反应检修
  6. 在 mysql数据库怎么知道的ip_用户名_密码_数据库_数据库ip怎么查
  7. bt5重启网卡命令_BT5找不到无线网卡怎么处理
  8. PPT全屏错误 显示不全
  9. 信息系统项目管理师考试大纲(第2版)
  10. 自定义原生jsonp跨域请求
  11. echarts堆叠图显示总数 tooltips处理
  12. hibernate c0p3 mysql_COP3详细配置说明
  13. 背景设置为透明RGB
  14. proteus 上拉电阻
  15. 56.EasyLikeArea
  16. 基于FPGA的DVB-S2、DVB-S2X标准的 LDPC 编码IP、译码 IP core
  17. 语法解析及Antlr
  18. CH376的串口模式操作U盘(读、写、txt文件、csv文件、串口调试讲解、stm32程序)
  19. Ubuntu oh-my-zsh与autosuggestions配置
  20. (c语言)兔子繁衍问题

热门文章

  1. linux cordova安装教程,mac怎么安装cordova?
  2. vue template 复用_vue-组件基础
  3. python对印刷的用途_用Python式的方法来印刷价值
  4. oracle恢复RAC到单机
  5. python画菱形的代码_python – 使用循环创建菱形图案
  6. js数组查找最接近_如何从javascript中的对象数组中获取最接近的先前id
  7. labview列表框禁用鼠标单击_【跟我学LabVIEW】什么是局部变量?如何创建及使用局部变量?...
  8. python 无头模式 绕过检测_网络爬虫之使用pyppeteer替代selenium完美绕过webdriver检测...
  9. 安卓html输入框推起页面,移动端input输入框调起,页面上推,输入框关闭无法恢复...
  10. java爬去淘宝数据链接重定向_scrapy爬取天猫被重定向302问题