【TensorFlow】TensorFlow函数精讲之tf.nn.max_pool()和tf.nn.avg_pool()
tf.nn.max_pool()和tf.nn.avg_pool()是TensorFlow中实现最大池化和平均池化的函数,在卷积神经网络中比较核心的方法。
有些和卷积很相似,可以参考TensorFlow函数之tf.nn.conv2d()(附代码详解)
两个函数调用方式相同,下边讲解以tf.nn.max_pool()为例子进行加讲解。
函数格式:
tf.nn.max_pool(value, ksize, strides, padding, name=None)
参数说明:
第一个参数value:需要做池化的输入图像,输入feaure map,因为池化在卷积后边。shape为[batch, in_height, in_width, in_channels]:
- batch:训练时一个batch的图片数量
- in_height:输入图像的高度
- in_width:输入图像的宽度
- in_channels:输入feature map的数量
第二个参数ksize:类似于卷积的过滤器,池化窗口的大小,是一个长度为4的一维数组,但是这个数组的第一个和最后一数必须为1,即[1, height, width, 1]。这意味着池化层的过滤器是不可以在batch和channels上做池化。实际应用中,使用最多的过滤器尺寸为[1, 2, 2, 1]或者[1, 3, 3, 1]。
- height:过滤器的高度
- width:过滤器的宽度
第三个参数strides:不同维度上的步长,是一个长度为4的一维向量,[ 1, strides, strides, 1],第一维和最后一维的数字要求必须是1。因为卷积层的步长只对矩阵的长和宽有效。
第四个参数padding:string类型,是否考虑边界,值为“SAME”和“VALID”,"SAME"是考虑边界,不足的时候用填充周围,"VALID"则不考虑边界。。
返回tensor,shape仍然是[batch, height, width, channels]
这种形式。
下边通过例子来说明tf.nn.max_pool()函数的用法:
输入是1张 3*3 大小的feature map,数量是1,过滤器大小是[1, 2, 2, 1],步长是[1,1,1,1],padding值时'VALID',最后得到一个 2*2 的feature map。1张图最后输出就是一个 shape为[1,2,2,1] 的tensor。
#!/usr/bin/env python
# -*- coding:utf-8 -*-import tensorflow as tfvalue = tf.Variable(tf.random_normal([1, 3, 3, 1]))
ksize = [1, 2, 2, 1]pool = tf.nn.max_pool(value, ksize, strides=[1, 1, 1, 1], padding='VALID')with tf.Session() as sess:# 初始化变量op_init = tf.global_variables_initializer()sess.run(op_init)print("value的值为:")print(sess.run(value))print("池化值为:")print(sess.run(pool))
执行过程如下:
运行结果:
【TensorFlow】TensorFlow函数精讲之tf.nn.max_pool()和tf.nn.avg_pool()相关推荐
- TensorFlow基础篇(六)——tf.nn.max_pool()和tf.nn.avg_pool()
tf.nn.max_pool()和tf.nn.avg_pool()是TensorFlow中实现最大池化和平均池化的函数,在卷积神经网络中比较核心的方法. 有些和卷积很相似,可以参考TensorFlow ...
- python相关函数_python常用函数精讲
原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...
- python常用函数-python常用函数精讲
原标题:python常用函数精讲 返回值为bool类型的函数 bool是Boolean的缩写,只有真(True)和假(False)两种取值 bool函数只有一个参数,并根据这个参数的值返回真或者假. ...
- MATLAB的图像上怎么标记数据点?Text函数精讲
MATLAB的图像上怎么标记数据点?&Text函数精讲 文章目录 MATLAB的图像上怎么标记数据点?&Text函数精讲 前言 一.用Text函数可实现指定位置的添加 二.使用方法 1 ...
- 【TensorFlow】TensorFlow函数精讲之tf.get_variable()和tf.get_variable_scope()
目录 1.tf.get_variable() 2.tf.variable_scope() 3.tf.variable_scope() 函数嵌套 1.tf.get_variable() tf.get_v ...
- 【TensorFlow】TensorFlow函数精讲之tf.train.ExponentialMovingAverage()
tf.train.ExponentialMovingAverage来实现滑动平均模型. 格式: tf.train.ExponentialMovingAverage(decay,num_step) 参数 ...
- 【TensorFlow】TensorFlow函数精讲之tf.nn.conv2d()
博客之星评选,谢谢您的支持!微信.qq五连击投票(无需关注.无需登录) 人工智能博士(投票链接):http://m234140.nofollow.ax.mvote.cn/opage/4fddfa73- ...
- 【TensorFlow】TensorFlow函数精讲之tf.nn.softmax_cross_entropy_with_logits
tf.nn.softmax_cross_entropy_with_logits()函数是TensorFlow中计算交叉熵常用的函数. 后续版本中,TensorFlow更新为:tf.nn.softmax ...
- 【TensorFlow】TensorFlow函数精讲之 tf.nn.relu()
tf.nn.relu()函数是将大于0的数保持不变,小于0的数置为0,函数如图1所示. ReLU函数是常用的神经网络激活函数之一. 图1 ReLU函数图像 下边为ReLU例子: import tens ...
最新文章
- 增强学习(一) ----- 基本概念
- coroSync packmarker
- Silverlight 4.0添加鼠标右键菜单和Silverlight全屏模式的进入退出
- JAVA入门级教学之(do...while循环)
- python twisted教程 二:缓慢的诗
- 结局就在附近! (对于SQL Server 2008和SQL Server 2008 R2)
- input美化上传按钮美化
- 开发环境搭建好,也要做镜像
- 数据结构视频教程 -《[北风网]C#版数据结构与算法高级教程》
- Xshell复制粘贴快捷键设置
- 【WIN】svchost与共享进程服务
- C语言 单引号和双引号
- 扣哒世界的游戏开发2-2军事训练2
- Android开发动态的监听网络状态的变化
- 视频字幕 硬字幕 软字幕 外挂字幕 简介
- 最危险的计算机命令,十大危险cmd指令
- IT项目开发团队建设与管理总结(转)
- Vs2008编译vtk5.10详细教程
- VMware Workstation 14.1.2安装Win10 x64操作系统
- HTML span 标签 的详细用法
热门文章
- arcengine遍历属性表_小程序导出数据到excel表
- html织梦站内搜索代码,简单三步-实现dede站内搜索功能
- java replace stringbuilder_【基础篇】揭开String、StringBuilder以及StringBuffer的神秘面纱...
- 将更新面板的显示内容清除的代码实现;_免费开源:墨涩必应壁纸网盘系统1.0(自动壁纸更新免维护)
- java检索txt文本_lucene索引word/pdf/html/txt文件及检索(搜索引擎)
- 【windows】windows操作系统安全加固
- oracle半角全椒_Oracle全角和半角处理函数
- mysql基础事件_mysql 基础 事件(定时任务)
- python cookbook 小结
- STM32F407之常识