Tensorflow踩坑系列

您所在的位置:网站首页 卷积层padding Tensorflow踩坑系列

Tensorflow踩坑系列

2024-07-09 14:47:42| 来源: 网络整理| 查看: 265

Tensorflow踩坑系列---池化层的padding= 转载

mb5fca0c87ea3a4 2020-11-12 18:27:00 ©著作权

文章标签 ide 池化 整除 数据 卷积 文章分类 其他 其它

Tensorflow踩坑系列---池化层的padding=https://blog.51cto.com/u_15047489/4746149

之前深度学习中一般只在卷积中涉及到padding:

tf.nn.conv2d(x,W,strides=[1,1,1,1],padding="SAME")

现在在Tensorflow学习过程中,发现在池化过程中,大量应用到SAME填充:

tf.nn.max_pool(x,[1,2,2,1],strides=[1,2,2,1],padding="SAME")

现在我们来看看池化过程中padding到底是如何工作的?

卷积填充了解:​​http://www.ai-start.com/dl2017/html/lesson4-week1.html​​

一:池化层SAME Padding(一)案例一:可被池化层filter整除

a = tf.get_variable('w', shape=(1,4,4,1), initializer=tf.truncated_normal_initializer(seed=1)) b = tf.nn.max_pool(a, ksize=[1,2,2,1], strides=[1,2,2,1], padding='VALID') c = tf.nn.max_pool(a, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME') with tf.Session() as sess: sess.run(tf.global_variables_initializer()) out_b = sess.run(b) out_c = sess.run(c) print(out_b.shape, out_c.shape)

Tensorflow踩坑系列---池化层的padding=_池化

在这里刚好是4 % 2 = 0,也就是池化的模板的长度能够待处理的数据长度整除,所以两者的结果是相同的。(二)案例二:不可被池化层filter整除

a = tf.get_variable('w', shape=(1,3,3,1), initializer=tf.truncated_normal_initializer(seed=1)) b = tf.nn.max_pool(a, ksize=[1,2,2,1], strides=[1,2,2,1], padding='VALID') c = tf.nn.max_pool(a, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME') with tf.Session() as sess: sess.run(tf.global_variables_initializer()) out_b = sess.run(b) out_c = sess.run(c) print(out_b.shape, out_c.shape)

Tensorflow踩坑系列---池化层的padding=_整除_02

这里就不一样了,因为模板在滑动时,可能存在覆盖不完全的地方,就比如用2*2的模板,对于VALID模式和SAME模式就不一样,SAME模式会补全橙色部分,而VALID模式就不会补全了VALID不进行填充:会有数据无法遍历

Tensorflow踩坑系列---池化层的padding=_ide_03

SAME会向左和下填充0(这里不同与卷积的处理):但是都会使得原矩阵中的数据被遍历到

Tensorflow踩坑系列---池化层的padding=_整除_04

二:实例说明same会根据具体的步长和核大小去尽量遍历特征图,因为可以填充这个周边的范围。(一)代码演示

x = tf.constant([[1., 2., 3., 5.], [4., 5., 6., 6.], [1 , 2 , 3 , 4 ], [6 , 5 , 8 , 9 ]]) x = tf.reshape(x, [1, 4, 4, 1]) valid_pad = tf.nn.max_pool(x, [1, 3, 3, 1], [1, 2, 2, 1], padding='VALID') same_pad = tf.nn.max_pool(x, [1, 3, 3, 1], [1, 2, 2, 1], padding='SAME') with tf.Session() as sess: print(sess.run(valid_pad)) print("----------") print(sess.run(same_pad))

Tensorflow踩坑系列---池化层的padding=_池化_05

(二)Valid填充

Tensorflow踩坑系列---池化层的padding=_数据_06

(三)Same填充

Tensorflow踩坑系列---池化层的padding=_卷积_07

补充:argmax中axis问题

收藏 评论 分享 微博 QQ 微信 举报

上一篇:汉诺塔问题

下一篇:java泛型中和有什么区别?



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭