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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 飞机订票系统测试用例

    飞机订票系统测试用例1、登录界面的标题为“航班预订登录界面”;2、代理名称由4位或者以上的字母和数字组成,不超过8位,不能由纯数字组成或者数字开头,否则系统提示给出相应的提示“代理名称不能由纯数字组成,请重新输入”或“代理名称不能由数字开头,请重新输入”。代理名称长度小于4位时,点击确认按钮,系统弹出提示对话框提示“代理名称长度必须至少为4个字符,请重新输入”;代理名称长度大于8位时,点击确认按钮,系统弹出提

    2022年6月17日
    62
  • STM32—PID控制在直流电机中的应用「建议收藏」

    STM32—PID控制在直流电机中的应用「建议收藏」文章目录一.PID控制算法1.什么是PID2.PID系数的理解Ⅰ.比例(P)部分Ⅱ.积分(I)部分Ⅲ.微分(D)部分3.PID的数字化处理二.位置闭环控制三.速度闭环控制一.PID控制算法1.什么是PIDPID:Proportion-Integral-Differential在过程控制中,我们经常使用的一种算法就是PID算法了,所谓PID控制算法就是对偏差进行比例、积分、微分控制,来使偏差…

    2022年6月5日
    129
  • 深入理解适配器设计模式(java版本)

    深入理解适配器设计模式(java版本)

    2021年8月3日
    65
  • bapi sap 创建物料_bapi 物料主数据创建 ‘BAPI_MATERIAL_SAVEDATA’「建议收藏」

    bapi sap 创建物料_bapi 物料主数据创建 ‘BAPI_MATERIAL_SAVEDATA’「建议收藏」CALLFUNCTION’BAPI_MATERIAL_SAVEDATA’2.物料信息的获取bapi:BAPI_MATERIAL_GET_DETAILReportZMMPL001*&*&———————————————————————**&*&*&——…

    2022年7月24日
    32
  • 光猫桥接网速降低了_光猫桥接网速降低了

    光猫桥接网速降低了_光猫桥接网速降低了解决电信宽带下,光猫桥接后使用路由器拨号时宽带降速的问题。

    2022年10月8日
    4
  • 使用Python暴力激活成功教程密码

    使用Python暴力激活成功教程密码由于业务需求,今天项目对接了百度云智能的风控系统,注册和登陆保护,想来测试一下性能,用python写了一个脚本,暴力激活成功教程密码,看看会不会触发风控一、首先在本地新建了一个数据库,保存已经试错过的密码CREATETABLE`test`.`pwd`(`id`int(10)NOTNULLAUTO_INCREMENT,`passwod`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLDEFAULT’…

    2022年8月22日
    11

发表回复

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

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