浅谈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 05 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
Python实现识别手写数字大纲
Jan 29 Python
python队列queue模块详解
Apr 27 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python实现截取屏幕保存文件,删除N天前截图的例子
Aug 27 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
使用python如何删除同一文件夹下相似的图片
May 07 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
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
python中for用来遍历range函数的方法
2018/06/08 Python
对于Python深浅拷贝的理解
2019/07/29 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python下载的库包存放路径
2020/07/27 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
工程师自我评价怎么写
2013/09/19 职场文书
新年晚会主持词
2014/03/24 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
2014年电教工作总结
2014/12/19 职场文书
小学体育教学随笔
2015/08/14 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
Python实现对齐打印 format函数的用法
2022/04/28 Python