Googlenet网络架构

原文链接:[1409.4842v1] Going Deeper with Convolutions (arxiv.org)

图源:深入解读GoogLeNet网络结构(附代码实现)-CSDN博客

表截自原文

以下📒来自博客深入解读GoogLeNet网络结构(附代码实现)-CSDN博客

(这个博主好厉害!写的很详细!)

输入层:224x224x3

卷积层:(conv 7×7+2(S))

kernel size=7×7 stride=2 padding=3 输出通道数64  (padding从哪儿看到的?原文吗?maybe

输出特征图尺寸=(224-7+3*2)/2+1=112.5(向下取整)=112

(为啥是向下取整?)(对应于下面的池化层为啥是向上取整?)

输出特征图维度64@112×112

池化层:

上一层的输出:64@112×112

kernel_size=3*3  stride=2 padding呢?  没说就是 padding=0

输出特征图尺寸 :

64@((112-3+2)/2)=55.5(向上取整)=56

∴输出=64@56*56  相当于   56*56*64

局部响应归一化(不晓得是个啥?

LRN第一次在AlexNet中提出

Conv 1×1+1(V)

卷积网络学习心得:

搞明白输入尺寸多大、操作(kernel size、stride、padding)、输出尺寸多大就可以的

输入:56*56 *64 

操作:64@kernel size=1*1 *64     需要训练的参数量=1*1*64*64=4096(说参数 指的是需要学习的参数(这个比较有趣,吃饭前死活不明白,还发呆走思,吃完饭回来倒是明白了

输出:64@56*56

卷积层conv 3×3+1(S)

输入:56*56*64

操作  192@kernel_size=3*3*64      stride = 1       padding= 1  

输出:192@(56-3+1*2)=192@56*56

然后进行ReLU操作(卷积以后,非线性激活)

参数量=192*3*3*64=110592

LRN

局部响应归一化的输入 操作 输出 是啥?

MAXPool  3×3+2(S)

是不是一般来说,padding不强调就是不填充 padding=valid

输入:192@56*56 (上一层的输出)→56*56*192

操作:192@kernel_size=3*3*192          stride=2           padding=0

输出:192@(56-3+2)/2=27.5 (向上取整)=28  = 192@28*28

Inception(3a)

输入:192@28*28 → 28*28*192

(从左往右数操作)(省略所有卷积操作后的ReLu操作)

操作1:conv 1*1 + 1(S)

输入:28*28*192

操作:

        kernel_size   64@1*1*192    padding=0  stride=1

        参数量=64*1*1*192=12288

输出:64@28*28

汇总:

池化层真的奇怪啊,按理说池化层没有padding,那么输出尺寸一定会减少的

参数量统计:

1*1*192*64=12288

1*1*192*96+3*3*96*128=129024

1*1*192*16+32*5*5*16=15872

1*1*192*32=6144

12288+129024+15872+6144=163328 

163328/1024=159.5K

原博的图也贴过来存档

这句话的理解:对四个部分的输出结果的通道并联

Inception(3b)

上一层的输出:256@28*28 →这一层的输入 :28*28*256

表格的读法:

patch size不懂

stride明白

开始读:

总的输出尺寸:28*28*480,网络的深度是2  (其实给出了 卷积核个数和总的输出尺寸 这个网络是很好读了

  1. 128个1*1的卷积      (输出是  128@28*28
  2. 在3*3的卷积核之前的降维,进行128个1*1的卷积 (输出是128@28*28),对输出的特征图进行192个3*3的卷积  (输出192@28*28
  3. 在进行5*5的卷积核之前的降维,进行32个1*1的卷积(输出是32@28*28),对输出的特征图进行96个5*5的卷积(输出96@28*28
  4. (pool层使用3*3的卷积核,输出28*28*256 why? 哪里看出来?A:get了,pool层有padding和stride 通道数不会变 而且padding=1)进行64个1*1的卷积(输出64@28*28  (由总的输出尺寸倒推这里的28*28

PS。忽然发现尺寸计算的一个东西 (H-W+2P+S)/S不管是填充还是步长,都是在把输出图像变大(蒽,理论上是的,诶,反正我这么理解

Inception(4a)

读inception(4a)

  1. 总的输出尺寸 14*14*512
  2. 进行192个1*1的卷积 输出14*14*192
  3. 使用3*3的卷积核之前的降维,进行96个1*1的卷积,输出14*14*96,进行208个3*3的卷积,输出14*14*208
  4. 使用5*5的卷积核之前的降维,进行16个1*1的卷积,输出14*14*16,进行48个5*5的卷积,输出14*14*48
  5.  (池化是啥样的?),池化之后进行64个1*1的卷积,输出14*14*64
  6. 最后汇聚成512个通道

inception 4a、4b、4c

再看一遍这个图,patch size还是不明白是什么 但是几个inception块应该是理解了

图源:深入解读GoogLeNet网络结构(附代码实现)-CSDN博客

gpt说的 patch size就是kernel size

读第一个池化层

补充计算公式

最后的输出层

DepthConcat的输出是 7*7*1024,也就是AvgPool的输入

这张图不懂。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525610.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHAMB: 病毒数据分箱

Genome binning of viral entities from bulk metagenomics data | Nature Communications 安装 ### New dependencies *Recommended* conda install -c conda-forge mamba mamba create -n phamb python3.9 conda activate phamb mamba install -c conda-forge -c biocond…

《2024国家自然科学基金青年基金》 相关申请注意事项解读

一 年龄计算 2004 对应 89 2005 对应 90 2006 对应 91 2007 对应 92 2008 对应 93 2009 对应 94 2010 对应 95 .。。 二 资助比例(2023) 2024年 23.13% 2023年 24% 三 2024年政策变动,只能申请3年的30万,不能像23年一样选择10-20的…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:外描边设置)

设置组件外描边样式。 说明: 从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 outline outline(value: OutlineOptions) 统一外描边样式设置接口。 卡片能力: 从API version 11开始,该…

C++虚继承的一些细节

C虚继承的一些细节 何时使用虚继承普通继承的类对象布局虚继承类对象布局虚函数表指针虚函数表内容 何时使用虚继承 看代码&#xff0c;代码主要是菱形继承&#xff0c;base里面的成员变量会存在二义性 #include<iostream> using namespace std;class base { public:in…

21-Java观察者模式 ( Observer Pattern )

Java备忘录模式 摘要实现范例 观察者模式 ( Observer Pattern ) 常用于对象间存在一对多关系时&#xff0c;比如&#xff0c;当一个对象被修改时&#xff0c;需要自动通知它的依赖对象 观察者模式属于行为型模式 摘要 1. 意图 定义对象间的一种一对多的依赖关系&#xff…

IPsec VPN配置方式

一、手工方式建立 手工方式建立IPsec的场景&#xff0c;全部参数需要手工配置&#xff0c;工作量大&#xff0c;适用于小型静态网络。 当企业总部与分支通过FW1和FW2之间建立的IPsec隧道进行安全通信。 手工配置步骤主要有四个&#xff1a; ①定义需要保护的数据流&#xff1…

蓝桥杯倒计时 36天-DFS练习

文章目录 飞机降落仙境诅咒小怂爱水洼串变换 飞机降落 思路&#xff1a;贪心暴搜。 #include<bits/stdc.h>using namespace std; const int N 10; int t,n; //这题 N 比较小&#xff0c;可以用暴力搜搜复杂度是 TN*N! struct plane{int t,d,l; }p[N]; bool vis[N];//用…

STL空间配置器

参考《STL源码剖析-侯捷》一书 (SGI版本STL) 前置 六大组件 空间配置器实现 SGI版本的空间配置器有两个&#xff0c;一个名为allocator&#xff0c;一个名为alloc。前者符合部分标准&#xff0c;但效率不好&#xff0c;只是对operator new和operator delete进行了封装&#…

电动机工作原理图

电机&#xff08;俗称“马达”&#xff09;是指依据电磁感应定律实现电能转换或传递的一种电磁装置。它的主要作用是产生驱动转矩&#xff0c;作为用电器或各种机械的动力源。 电动机&#xff0c;转子置于旋转磁场中&#xff0c;在旋转磁场的作用下&#xff0c;获得一个转动力…

Spring学习 基础(三)MVC

5、Spring MVC 传统Web模式&#xff1a; Model:系统涉及的数据&#xff0c;也就是 dao 和 bean。View&#xff1a;展示模型中的数据&#xff0c;只是用来展示。Controller&#xff1a;处理用户请求都发送给 &#xff0c;返回数据给 JSP 并展示给用户。 随着 Spring 轻量级开发…

anaconda问题合集

目录 一. 万分注意 二. ImportError: DLL load failed while importing _ctypes: 找不到指定的模块。 1. 发生情况 2. 导致结果和解决方法 三. WARNING: A newer version of conda exists. 1. 在conda install 某库的时候 2. 解决方法 一. 万分注意 不要轻易使用 conda …

创作之树常青——我的创作纪念日

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…