浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)


Posted in Python onApril 27, 2018

池化层定义在tensorflow/python/layers/pooling.py.

有最大值池化和均值池化。

1、tf.layers.max_pooling2d

max_pooling2d(
  inputs,
  pool_size,
  strides,
  padding='valid',
  data_format='channels_last',
  name=None
)
  1. inputs: 进行池化的数据。
  2. pool_size: 池化的核大小(pool_height, pool_width),如[3,3]. 如果长宽相等,也可以直接设置为一个数,如pool_size=3.
  3. strides: 池化的滑动步长。可以设置为[1,1]这样的两个整数. 也可以直接设置为一个数,如strides=2
  4. padding: 边缘填充,'same' 和'valid‘选其一。默认为valid
  5. data_format: 输入数据格式,默认为channels_last ,即 (batch, height, width, channels),也可以设置为channels_first 对应 (batch, channels, height, width).
  6. name: 层的名字。

例:

pool1=tf.layers.max_pooling2d(inputs=x, pool_size=[2, 2], strides=2)

一般是放在卷积层之后,如:

conv=tf.layers.conv2d(
   inputs=x,
   filters=32,
   kernel_size=[5, 5],
   padding="same",
   activation=tf.nn.relu)
pool=tf.layers.max_pooling2d(inputs=conv, pool_size=[2, 2], strides=2)

2.tf.layers.average_pooling2d

average_pooling2d(
  inputs,
  pool_size,
  strides,
  padding='valid',
  data_format='channels_last',
  name=None
)

参数和前面的最大值池化一样。

全连接dense层定义在 tensorflow/python/layers/core.py.

3、tf.layers.dense

dense(
  inputs,
  units,
  activation=None,
  use_bias=True,
  kernel_initializer=None,
  bias_initializer=tf.zeros_initializer(),
  kernel_regularizer=None,
  bias_regularizer=None,
  activity_regularizer=None,
  trainable=True,
  name=None,
  reuse=None
)
  1. inputs: 输入数据,2维tensor.
  2. units: 该层的神经单元结点数。
  3. activation: 激活函数.
  4. use_bias: Boolean型,是否使用偏置项.
  5. kernel_initializer: 卷积核的初始化器.
  6. bias_initializer: 偏置项的初始化器,默认初始化为0.
  7. kernel_regularizer: 卷积核化的正则化,可选.
  8. bias_regularizer: 偏置项的正则化,可选.
  9. activity_regularizer: 输出的正则化函数.
  10. trainable: Boolean型,表明该层的参数是否参与训练。如果为真则变量加入到图集合中 GraphKeys.TRAINABLE_VARIABLES (see tf.Variable).
  11. name: 层的名字.
  12. reuse: Boolean型, 是否重复使用参数.

全连接层执行操作 outputs = activation(inputs.kernel + bias)

如果执行结果不想进行激活操作,则设置activation=None。

例:

#全连接层
dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu)
dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu)
logits= tf.layers.dense(inputs=dense2, units=10, activation=None)

也可以对全连接层的参数进行正则化约束:

dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu,kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
Python中将变量按行写入txt文本中的方法
Apr 03 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
Python3实现发送邮件和发送短信验证码功能
Jan 07 Python
Python打包为exe详细教程
May 18 Python
解决Pytorch半精度浮点型网络训练的问题
May 24 Python
Python何绘制带有背景色块的折线图
Apr 23 Python
python线程中同步锁详解
Apr 27 #Python
python数字图像处理之高级形态学处理
Apr 27 #Python
python线程池threadpool实现篇
Apr 27 #Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 #Python
python多线程之事件Event的使用详解
Apr 27 #Python
python线程池threadpool使用篇
Apr 27 #Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 #Python
You might like
php实现的在线人员函数库
2008/04/09 PHP
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
js实现中文实时时钟
2020/01/15 Javascript
[00:10]神之谴戒
2019/03/06 DOTA
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
python openpyxl使用方法详解
2019/07/18 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
学习python需要有编程基础吗
2020/06/02 Python
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
美国著名的团购网站:Woot
2016/08/02 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
护理专科毕业推荐信
2013/11/10 职场文书
百日安全生产活动总结
2014/07/05 职场文书
音乐学专业求职信
2014/07/22 职场文书
品德与社会教学反思
2016/02/24 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android
Go语言应该什么情况使用指针
2021/07/25 Golang