pytorch 学习 | 全局平均池化 global average pooling

版权声明:本文为CSDN博主「qyhyzard」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/CVSvsvsvsvs/article/details/90495254利用现有的poolingAPI实现全局平均池化的效果。首先我们简单理解全局平均池化操作。如果有一批特征图,其尺寸为[B,C,H,W],我们经过全局平均池化之后,尺寸变为[B,C,1,1]。也就是说,全局平均池化…

大家好,又见面了,我是你们的朋友全栈君。

版权声明:本文为CSDN博主「qyhyzard」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CVSvsvsvsvs/article/details/90495254

 

利用现有的pooling API实现全局平均池化的效果。

首先我们简单理解全局平均池化操作。
如果有一批特征图,其尺寸为 [ B, C, H, W], 我们经过全局平均池化之后,尺寸变为[B, C, 1, 1]。
也就是说,全局平均池化其实就是对每一个通道图所有像素值求平均值,然后得到一个新的1 * 1的通道图。

明白这个思路之后,我们就可以很容易实现全局平均池化了。

利用自适应平均池化就可以快速实现。或者自适应最大池化也可以,一样。

In [1]: import torch

In [2]: a = torch.rand([4,3,4,4])

In [3]: a.size()
Out[3]: torch.Size([4, 3, 4, 4])

In [4]: b = torch.nn.functional.adaptive_avg_pool2d(a, (1,1))  # 自适应池化,指定池化输出尺寸为 1 * 1

In [5]: b.size()
Out[5]: torch.Size([4, 3, 1, 1])

 

 

如果要预测K个类别,在卷积特征抽取部分的最后一层卷积层,就会生成K个特征图
然后通过全局平均池化就可以得到 K个1×1的特征图,将这些1×1的特征图输入到softmax layer之后,每一个输出结果代表着这K个类别的概率(或置信度 confidence),起到取代全连接层的效果。
优点:
和全连接层相比,使用全局平均池化技术,对于建立特征图和类别之间的关系,是一种更朴素的卷积结构选择。
全局平均池化层不需要参数,避免在该层产生过拟合。
全局平均池化对空间信息进行求和,对输入的空间变化的鲁棒性更强

 

用GAP替代FC全连接层
有两个有点:一是GAP在特征图与最终的分类间转换更加简单自然;
二是不像FC层需要大量训练调优的参数,降低了空间参数会使模型更加健壮,抗过拟合效果更佳。

pytorch 学习 | 全局平均池化 global average pooling

 

 

https://www.cnblogs.com/hutao722/p/10008581.html

pytorch 学习 | 全局平均池化 global average pooling

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

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

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


相关推荐

  • python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐

    python后端框架有哪些_后端框架有哪些?五款优秀的web开源后端框架推荐作为一个web开发人员,下面五款优秀的开源框架一定要了解一下。PHP篇作为全球最好的web开发编程语言,PHP的框架非常多。下面重点介绍2款:Laravelhttps://laravel.comLaravel最大的优势就是:简洁和优雅。能迅速的让大家从杂乱无章的代码中解脱出来。拥抱PHP7基于composer全栈型框架灵活的路由配置仅仅通过配置文件就可以切换缓存、会话的存储介质,包括(file、r…

    2022年6月8日
    38
  • 中兴B760换中兴B860_中兴机顶盒B860没有无线网络

    中兴B760换中兴B860_中兴机顶盒B860没有无线网络开启adb方式:在主页长按5s以上返回,松开后接着按左键就会弹出adb打开界面,有的是会显示二维码,打开wifi:在设置界面连续按左键10次,就会叫你输入密码,一般是10086(当地联系移动的电话号码)。就可以了……

    2025年8月21日
    2
  • delphi多线程[通俗易懂]

    delphi多线程[通俗易懂]   Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大多数Delphi书藉都有说到,但基本上都是对TThread类的几个成员作一简单介绍,再说明一下Execute的实现和Synchronize的用法就完了。然而这并不是多线程编程的全部,我写此文的目的在于对此作一个补充。  线程本质上是进程中一段并发运行的代码。一个进程至少有一个线程,即所谓的主线程。同时还可以有多个子线

    2025年8月22日
    2
  • 利用google网管工具,快速诊断网站(一)

    利用google网管工具,快速诊断网站(一)前面讲了网站诊断要做的4个步骤,今天我们用google网管工具来对网站做快速诊断:google网管工具地址:http://www.google.com/webmasters/google网管工具控制台截图如下:快速诊断步骤:1、robots.txt文件检查点击“网站配置”—>“抓取工具的权限”,查看robots.txt文件可以在上图所示的网址处,输入多个网站地…

    2022年10月6日
    3
  • navicat premium 15激活码 mac【2021免费激活】[通俗易懂]

    (navicat premium 15激活码 mac)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~747EFQ8BIF-eyJsaWNlb…

    2022年3月31日
    89
  • 5G融合通信_网关正在获取怎么解决

    5G融合通信_网关正在获取怎么解决随着物联网5G商用步伐的加速和5G网络建设的突飞猛进,2020年无疑成为5G向千行百业拓展落地的关键之年。作为“新基建”的领头羊,5G已凝聚产业链力量,蓄势待发为行业的智能化和数字化转型赋能,为新一轮经济增长提速。GrassRouter作为5G技术在超高清视频传输领域应用的领先代表,于今年推出了最新一代5G高速物联网B4G+5G聚合路由器,可支持构建点对点安全传输链路,支持移动/联通/电信混用,实现多达7条2G/3G/4G/5G/有线传输链路聚合,成为5G应用落地的重点项目之一。5G要全面覆盖还

    2022年10月3日
    2

发表回复

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

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