torchvision中inception v3的实现_torchvision inceptionv3-程序员宅基地

技术标签: 11 Python/DL/ML  

一、torchvision中inception v3的网络结构

论文中给的结构如下图所示。

但是torchvision中的inception v3结构中并不是这么实现的。下面解释一下torchvision中的inception v3结构:

输入图片299*299*3.

(1)经过conv3*3/2  (除以2表示stride=2)

输入通道3,输出通道32,kernel_size=3,stride=2。输出尺寸:(299-3)/2 + 1 = 149。得到149*149*32。

(2) conv3*3/1

输入通道32,输出通道32,kernel_size=3,stride=1。输出尺寸:(149-3)/1 + 1 = 147。得到147*147*32。

(3) conv3*3/1

输入通道32,输出通道64,kernel_size=3,stride=1,padding=1。输出尺寸:(147+2-3)/1 + 1 = 147。得到147*147*64。

(4) max_pool

kernel_size=3,stride=2。输出尺寸:(147-3)/2 + 1 = 73。得到73*73*64。

(5) conv1*1/1

输入通道64,输出通道80,kernel_size=1,stride=1。输出尺寸:(73-1)/1 + 1 = 73。得到73*73*80。

(6)conv3*3/1

输入通道80,输出通道192,kernel_size=1,stride=1。输出尺寸:(73-3)/1 + 1 = 71。得到71*71*192。

(7) max_pool

kernel_size=3,stride=2。输出尺寸:(71-3)/2 + 1 = 35。得到35*35*192。

(8)经过inception_a。其中m = 32。

也跟论文中的图5不一样。

经过inception a之后,得到的特征图大小为:35*35*(224+32) = 35*35*256。

(9)再经过一个inception_a。其中m = 64。

得到的特征图大小为:35*35*(224+64) = 35*35*288。

(10)再经过一个inception_a。其中m = 64。

得到的特征图大小为:35*35*(224+64) = 35*35*288。

(11)经过inception_b

使用的是高效特征图下降的策略。但是与论文的图还是有点差异。

最后得到特征图为:17*17*768.

(12) 经过inception_c,c=128

最后得到特征图为:17*17*768. 

(13) 经过inception_c,c=160

最后得到特征图为:17*17*768.

(14) 经过inception_c,c=160

最后得到特征图为:17*17*768.

(15) 经过inception_c,c=192

最后得到特征图为:17*17*768.

(16)这个地方,可能经过辅助分类层:

(17) (15)之后经过inception_d

 

(18)经过inception_e

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pengchengliu/article/details/119757450

智能推荐

Moscow Pre-Finals Workshop 2020 - Legilimens+Coffee Chicken Contest (XX Open Cup, Grand Prix of Nanj-程序员宅基地

文章浏览阅读587次。J.Gaokao题意:一个三角,第一个和最后一个数是1,其他位置的数是头上两个数之和。问第K行有多少奇数。思路:遍历,判断奇数数目。#include <bits/stdc++.h> using namespace std; int main(){ long long x; int t; cin >> t; while(t -- ) { cin >> x; if(x <= _moscow pre-finals workshop 2020 - legilimens+coffee chicken contest (xx open

1147: 查找子数组 C语言_题目描述 小c学习数组时非常喜欢取子数组这一操作,即选择-一个起始点一个终止点,-程序员宅基地

文章浏览阅读729次。1147: 查找子数组时间限制: 1 Sec 内存限制: 128 MB提交: 5264 解决: 3275[状态] [讨论版] [提交] [命题人:admin]题目描述给定两个整型数组,数组a有n个元素, 数组b有m个元素,1<=m<=n<100,请检验数组b是否是数组a的子数组。若从数组a的某个元素a[i]开始,有b[0]=a[i],b[1]=a[i+1],…,b[m]=a[i+m],则称数组b是数组a的子数组。输入输入第一行为两个整数n和m;第二行为数组a的n个整数;第_题目描述 小c学习数组时非常喜欢取子数组这一操作,即选择-一个起始点一个终止点,

公司企业展示门户店铺展示宣传微信小程序前端源码_广告公司小程序源码-程序员宅基地

文章浏览阅读805次,点赞2次,收藏11次。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。对话框发送:wx门户。_广告公司小程序源码

angular ng-template 灵活运用_angular双重嵌套表单动态项-程序员宅基地

文章浏览阅读6k次。用处可以随意调整组件显示的位置,个人觉得在嵌套组件中最方便举例app.component.tsimport { Component, ViewChild, TemplateRef,ViewContainerRef } from '@angular/core';@Component({ selector: 'app-root', styleUrls: ['./app.compone..._angular双重嵌套表单动态项

Xilinx Vitis Error Launching Program: Memory write error MMU section translation fault_error while launching program: can't read "map": n-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏3次。在 Run As -> Launch Hardware (Single Application Debug (GDB)) 时报错:Error while launching program:Memory write error at 0x100000. MMU section translation fault原因是 JP4 接口误接为 SD,改接为 JTAG 后即可顺利 Program Device。..._error while launching program: can't read "map": no such variable can't read

Scala第十八章节(Iterable集合、Seq集合、Set集合、Map集合以及统计字符个数案例)-程序员宅基地

文章浏览阅读1.4k次,点赞16次,收藏22次。1. 掌握Iterable集合相关内容.2. 掌握Seq集合相关内容.3. 掌握Set集合相关内容.4. 掌握Map集合相关内容.5. 掌握统计字符个数案例.

随便推点

保单承保的程序-程序员宅基地

文章浏览阅读248次。(一)投保如果出口商决定投保,则必须按照保险公司提供的《投保单》填制各项内容,向保险人发出投保的要约。投保人填制投保单的各项内容时,必须遵守保险的最大诚信原则,特别是应履行告知义务和保证义务;保险人应对投保人的商业秘密给予保密。 (二)拟定承保方案如果保险人同意承保,则保险人依据投保单的内容和条件,拟定承保方案,即拟定《保险单明细表》,该明细表主要包括以下内容:1.承保范围..._保单 hadoop

使用Matlab coder 生成函数‘referencePathFrenet’ 对应C/C++代码含有超大数组_matlab coder 数组-程序员宅基地

文章浏览阅读122次。在'clothoidG2fitCourse.m'里面找到调用'dclothoid'处,手动输入迭代次数,这里写了6次。注意要同步修改上面up值,计算方法我写了注释。数组大幅缩小,满足嵌入式集成要求。_matlab coder 数组

js常用方法_格式化金额_比较时间对象_秒转时分秒_js 时分秒格式化00:00:00-程序员宅基地

文章浏览阅读351次。/** * 秒转时分秒 * @param 秒 * @returns result[],时、分、秒 */function formatSeconds(value) { var theTime = parseInt(value);// 秒 var theTime1 = 0;// 分 var theTime2 = 0;// 小时 if (theTime_js 时分秒格式化00:00:00

shiro权限控制之粗细粒度的区别(转)_权限粗颗粒和细颗粒的区别-程序员宅基地

文章浏览阅读3.9k次,点赞2次,收藏4次。1.1 什么是粗粒度和细粒度权限粗粒度权限管理,对资源类型的权限管理。资源类型比如:菜单、url连接、用户添加页面、用户信息、类方法、页面中按钮。。粗粒度权限管理比如:超级管理员可以访问户添加页面、用户信息等全部页面。部门管理员可以访问用户信息页面包括 页面中所有按钮。 细粒度权限管理,对资源实例的权限管理。资源实例就资源类型的具体化,比如:用户id为001的修改连接,1110班的用户_权限粗颗粒和细颗粒的区别

安卓1.0明显是基于linux内核开发的,安卓1.0是不是linux套壳?-程序员宅基地

文章浏览阅读556次,点赞14次,收藏7次。Google 从来都是大大方方的承认自己的技术来源的. Android 甚至都不是 Google 的原创, 而是收购了 Andy Rubin 创立的 Android Inc. 而来. 而为了 Linux 内核的一些原因 (主要是相关驱动是否需要遵循 GPL 的问题), Google 和 Linux 社区还打了很久的口水战.在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「安卓开发资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!

16.2 ARP 主机探测技术_arp探测-程序员宅基地

文章浏览阅读4.2k次。ARP (Address Resolution Protocol,地址解析协议),是一种用于将 `IP` 地址转换为物理地址(`MAC地址`)的协议。它在 `TCP/IP` 协议栈中处于链路层,为了在局域网中能够正确传输数据包而设计,由协议数据单元和对应的操作命令组成。`ARP` 既可以由操作系统处理,也可以由网卡处理。该协议的作用是通过一个局域网上的互联网协议(IP)地址来查询对应的物理硬件地址,如数据包发送到路由器时,ARP 协议将使用嵌入在数据包中的目的 IP 地址查找对应的物理地址,路由器根据获_arp探测

推荐文章

热门文章

相关标签