最大池化[通俗易懂]

最大池化[通俗易懂]TensorFlow最大池化由Aphex34(自己的作品) CCBY-SA4.0,通过WikimediaCommons共享这是一个最大池化的例子maxpooling&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

TensorFlow 最大池化

 

最大池化[通俗易懂]

由 Aphex34 (自己的作品) CC BY-SA 4.0, 通过 Wikimedia Commons 共享

 

这是一个最大池化的例子max pooling 用了 2×2 的滤波器 stride 为 2。四个 2×2 的颜色代表滤波器移动每个步长所产出的最大值。

例如 [[1, 0], [4, 6]] 生成 6,因为 6 是这4个数字中最大的。同理 [[2, 3], [6, 8]] 生成 8。 理论上,最大池化操作的好处是减小输入大小,使得神经网络能够专注于最重要的元素。最大池化只取覆盖区域中的最大值,其它的值都丢弃。

TensorFlow 提供了 tf.nn.max_pool() 函数,用于对卷积层实现 最大池化 。

...
conv_layer = tf.nn.conv2d(input, weight, strides=[1, 2, 2, 1], padding='SAME')
conv_layer = tf.nn.bias_add(conv_layer, bias)
conv_layer = tf.nn.relu(conv_layer)
# Apply Max Pooling
conv_layer = tf.nn.max_pool(
    conv_layer,
    ksize=[1, 2, 2, 1],
    strides=[1, 2, 2, 1],
    padding='SAME')

 

tf.nn.max_pool() 函数实现最大池化时, ksize参数是滤波器大小,strides参数是步长。2×2 的滤波器配合 2×2 的步长是常用设定。

ksize 和 strides 参数也被构建为四个元素的列表,每个元素对应 input tensor 的一个维度 ([batch, height, width, channels]),对 ksize 和 strides 来说,batch 和 channel 通常都设置成 1。

 

设置

H = height, W = width, D = depth

  • 输入维度是 4x4x5 (HxWxD)
  • 滤波器大小 2×2 (HxW)
  • stride 的高和宽都是 2 (S)

新的高和宽的公式是:

new_height = (input_height - filter_height)/S + 1 new_width = (input_width - filter_width)/S + 1 

注意:池化层的输出深度与输入的深度相同。另外池化操作是分别应用到每一个深度切片层。

下图给你一个最大池化层如何工作的示例。这里,最大池化滤波器的大小是 2×2。当最大池化层在输入层滑动时,输出是这个 2×2 方块的最大值。

 

最大池化[通俗易懂]

 

池化层输出结果

 

输出的维度大小是什么?格式写成 HxWxD。


2x2x5

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167237.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DOS攻击工具(dos攻击教程)

    DOS攻击工具(dos攻击教程)DoS(DenialOfService)攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃然而随着网络上免费的可用DDoS工具增多,DoS攻击也日益增长,下面介绍几款Hacker常用的DoS攻击工具。特别提示:仅用于攻防演练及教学测试用途,禁止非法使用。1、卢瓦(LO…

    2022年4月18日
  • Java NIO读书笔记

    Java NIO读书笔记

    2021年12月7日
  • 数据挖掘项目一般多少钱_预测类数据挖掘项目

    数据挖掘项目一般多少钱_预测类数据挖掘项目数据挖掘项目(一)第一次实践数据挖掘。虚心学习。基于机器学习的数据分析模型的建立,主要分为以下几步:数据获取->数据预处理->模型选择->数据统一化->模型建立->模型结果分析首先要对数据进行评估,数据的大小来决定使用工具。本数据为金融数据,目的为预测贷款用户是否会逾期。导入数据importpandasaspdimportnumpyasn…

    2022年9月5日
  • IPtables中SNAT、DNAT和MASQUERADE的含义

    IPtables中SNAT、DNAT和MASQUERADE的含义IPtables中可以灵活的做各种网络地址转换(NAT),网络地址转换主要有两种:SNAT和DNAT。SNAT是sourcenetworkaddresstranslation的缩写,即源地址目标转换。比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP,PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip,当外部网络的服务器比如网站web服务器接到访

    2022年6月15日
  • java简历的项目经验怎么写(java一年项目经验模板参考)

    前言今年的金三银四已经过去一大半了,在这其中参与过不少面试,2021都说工作不好找,这也是对开发人员的要求变向的提高了。之前在Github上收获15K+star的Java核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty与RPC、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等内容非常丰富,已经帮很多人拿下互联网一线公司的offer美团一面:1、Concurr

    2022年4月11日
  • 移动端App开发流程管理

    移动端App开发流程管理前言刚刚做完一个项目,值得总结,在此记录一下。   欢迎加入学习小组QQ群: 156958554。项目流程一款应用的开发大体流程如下:1、项目立项:产品经理2、需求确认:产品经理(业务逻辑说明文档)3、业务确认:产品经理,技术经理,架构师4、业务架构:技术经理,架构师(业务流程文档)5、UI确认:产品经理,设计人员,开发人员全体6、

    2022年5月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号