首页 > 编程知识 正文

ensp配置dhcp全局地址池,全局地址池命令怎么写

时间:2023-05-03 17:04:20 阅读:129449 作者:1813

基本原理全球平均池化英文名将全球平均轮询简称为GAP

其具体实现过程在原文网络中如下。

可以看出,这是将矩阵中的[w,h]平均池化后组成一个单元的。 也就是说进行Flattrn和FC。 其详细原理的图表示例请参考下图。

实际上,池化层将输入[b,c,h,w]的大小缩小为[b,c,1,1]的大小。 也就是说,如上所述,将3358www.Sina.com/平均化为一个单元。

与FC层不同在常见的卷积神经网络中,全连通层前面的卷积层负责图像的特征提取,获取特征后,传统的方法是先连接全连通层再进行激活分类,GAP的思路是用GAP代替该全连通层(池化层http://wwwwww,另外,[w,h]! 而且,卷积可视化Grad-CAM也有重要的应用。 ()来源于原文) ) ) )。

图中想象的原理性说明如下。

从原理上介绍GAP替代FC层的具体方案,可以看出GAP主要是进行池化来减少参数量,但是想要在FC层得到特定大小的特征图,在GAP层是做不到的(仅限于个人理解,有偏差的话请指出) FC层如何获得特定大小的特征图的输出,可以在下图中说明。

FC层的参数有两个巨大的原因,一个个单元在故障时需要整形,那么我们如何利用GAP层输出我们想要的特征图,具体如下图所示。

由此可见,参数量的缩小是巨大的。 具体计算公式如下

全部FC=n w h 2014 2014 1000

GAP=n 1000

具体的pytorch代码实现(仅限于GAP实现)由于pytorch没有用GAP封装的API,因此必须借用其他API实现GAP。

in [1] 3360 importtorchin [2] : a=torch.rand [ 4,3,4,4 ] (in [3] : a.size ) out[3]3360torch 4) in

orch.size ([ 2,400,190---------------------------- )=====================================40 ] 295,168 conv 2d-6 [-1,256,40 ] 256 20 )0conv 2d-8 [-1,512,48,20 ] 1,180,160 conv 2d-9 [-1,512,]

12, 12, 5] 0 Dropout2d-14 [-1, 512, 12, 5] 0 Linear-15 [-1, 19000] 583,699,000 Linear-16 [-1, 19000] 361,019,000 Conv2d-17 [-1, 64, 200, 95] 640 Conv2d-18 [-1, 64, 200, 95] 36,928 ReLU-19 [-1, 64, 200, 95] 0 Conv2d-20 [-1, 64, 200, 95] 36,928================================================================Total params: 954,714,609Trainable params: 954,714,609Non-trainable params: 0----------------------------------------------------------------Input size (MB): 0.47Forward/backward pass size (MB): 474.42Params size (MB): 3641.95Estimated Total Size (MB): 4116.84----------------------------------------------------------------

使用GAP层:

---------------------------------------------------------------- Layer (type) Output Shape Param #================================================================ Conv2d-1 [-1, 64, 384, 160] 1,216 MaxPool2d-2 [-1, 64, 192, 80] 0 Conv2d-3 [-1, 128, 192, 80] 73,856 MaxPool2d-4 [-1, 128, 96, 40] 0 Conv2d-5 [-1, 256, 96, 40] 295,168 Conv2d-6 [-1, 256, 96, 40] 590,080 MaxPool2d-7 [-1, 256, 48, 20] 0 Conv2d-8 [-1, 512, 48, 20] 1,180,160 Conv2d-9 [-1, 512, 48, 20] 2,359,808 MaxPool2d-10 [-1, 512, 24, 10] 0 Conv2d-11 [-1, 512, 24, 10] 2,359,808 Conv2d-12 [-1, 512, 24, 10] 2,359,808 MaxPool2d-13 [-1, 512, 12, 5] 0 Dropout2d-14 [-1, 512, 12, 5] 0AdaptiveAvgPool2d-15 [-1, 512, 1, 1] 0 Linear-16 [-1, 19000] 9,747,000 Conv2d-17 [-1, 64, 200, 95] 640 Conv2d-18 [-1, 64, 200, 95] 36,928 ReLU-19 [-1, 64, 200, 95] 0 Conv2d-20 [-1, 64, 200, 95] 36,928 ResidualBlock-21 [-1, 64, 200, 95] 0================================================================Total params: 19,743,609Trainable params: 19,743,609Non-trainable params: 0----------------------------------------------------------------Input size (MB): 0.47Forward/backward pass size (MB): 474.28Params size (MB): 75.32Estimated Total Size (MB): 550.07----------------------------------------------------------------

差距主要在liner层也就是全连接层,可以看出使用GAP的情况下我的模型参数缩小有百倍,从原来的九亿多参量直接缩小为九百多万。而总的参数量缩小大概是九十倍。参量缩小很可观,很适合显存不够的同时需要跑比较大的模型的用户。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。