浅谈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 相关文章推荐
Python异常处理总结
Aug 15 Python
python机器学习之随机森林(七)
Mar 26 Python
python实现批量图片格式转换
Jun 16 Python
python3判断url链接是否为404的方法
Aug 10 Python
使用Python的toolz库开始函数式编程的方法
Nov 15 Python
Python time库基本使用方法分析
Dec 13 Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 Python
Python 文件数据读写的具体实现
Jan 24 Python
Python实现密钥密码(加解密)实例详解
Apr 26 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
pytorch加载自己的图像数据集实例
Jul 07 Python
opencv 图像轮廓的实现示例
Jul 08 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
单位速度在实战中的运用
2020/03/04 星际争霸
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
Smarty保留变量用法分析
2016/05/23 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
28个JS验证函数收集
2010/03/02 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
React项目动态设置title标题的方法示例
2018/09/26 Javascript
vue addRoutes路由动态加载操作
2020/08/04 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
Python全局变量操作详解
2015/04/14 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
在pycharm中实现删除bookmark
2020/02/14 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
python程序如何进行保存
2020/07/03 Python
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
泰国网上购物:Shopee泰国
2018/09/14 全球购物
后勤岗位职责
2013/11/26 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
村委会贫困证明范文
2014/09/21 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
MySQL数据库必备之条件查询语句
2021/10/15 MySQL
解决redis批量删除key值的问题
2022/03/23 Redis