㈠ 为什么 VGG,resnet 等都是用 max
Average pooling在历史上用的更多, 但是由于max-pooling通常效果更好, 所以现在max-pooling更常使用. Max-pooling和average pooling都对数据进行下采样, 除此之外, max-pooling还提供了非线性, 这是max-pooling效果更好的一个重要原因.
Average pooling并非一无是处, 现在average pooling更多的是用在global average pooling中. 这最早由Network in network提出, 目前在ResNet, GoogLeNet等主流网络中都有使用.
㈡ caffe和vgg-16和googlenet的区别
三者都属于深度学习领域的术语。
caffe是目前在图像领域应用最为广泛的深度学习平台,许多国内外的大牛都使用caffe做为实验平台,主要原因个人认为有两个,一是caffe发展较早,随着时间的积累积聚了大量的深度学习研究成果,例如能够直接运行的代码和使用预先训练好的模型,可以很方便的进行实验;二是后人如果想与之前的方法进行比较,就需要保持除方法外的其它因素一致,如所使用的数据以及实验使用的平台。
vgg-16是一种深度卷积神经网络模型,16表示其深度,是alexnet后比较有代表性的深度模型之一,在图像分类等任务中取得了不错的效果
googlenet是google设计的一种深度卷积神经网络模型,第一版深度可至22层,这一网络采纳了稀疏学习的思想,通过稀疏网络的参数来加大网络规模。
类似caffe的平台还有tensorflow, theano, torch, paddle等等
类似vgg-16和googlenet这样的网络结构更是多种多样,比较有代表性的就是alexnet, resnet
㈢ vgg是什么意思
VGG电缆用于各大工业照明,电力供应。
超柔型耐高温耐低温耐磨抗拉丁硅胶料电缆
丁硅是一种新型料,它具有的优点是:耐高温160,耐低温-30,阻燃性强,抗拉,耐磨,不开裂,耐油耐腐蚀,超柔软等优点,用于各大工业照明,电力供应,机械设备供电等通用电缆。电压有300V-500V,450V-750V,0.6-1KV,1500V,2000V,3000V,6000V等。
㈣ 图计算引擎Neo4j和Graphscope有什么区别
Neo4j是单机系统,主要做图数据库。GraphScope是由阿里巴巴达摩院智能计算实验室研发的图计算平台,是全球首个一站式超大规模分布式图计算平台,并且还入选了中 国科学技术协会“科创中 国”平台。Graphscope的代码在github.com/alibaba/graphscope上开源。SSSP算法上,GraphScope单机模式下平均要比Neo4j快176.38倍,最快在datagen-9.2_zf数据集上快了292.2倍。
㈤ NetworkX和Graphscope哪个运算速度更快
近年来,全球大数据进入加速发展时期,数据量呈现指数级爆发式增长,而这些大量数据中不同个体间交互产生的数据以图的形式表现,如何高效地处理这些图数据成为了业界及其关心的问题。很过用普通关系数据无法跑出来的结果,用图数据进行关联分析会显得异常高效。
提到处理图数据,我们首先想到NetworkX,这是网络计算上常用的Python包,可提供灵活的图构建、分析功能。但是我们使用NetworkX跑大规模图数据时,不仅经常碰到内存不足的问题,而且分析速度很慢,究其原因,是NetworkX只支持单机运行。通过网上搜索,新发现了一个名为GraphScope的系统不仅号称兼容NetworkX的API,而且支持分布式部署运行,性能更优。针对GraphScope和NetworkX的处理能力,我们参考图计算中常用的测试框架LDBC,通过一组实验来对比下二者的性能。
一、实验介绍
为了比较两者的计算效率,先用阿里云拉起了配置为8核CPU,32GB内存的四台ECS,设计了三组比较实验,分别是NetworkX单机下的计算性能,GraphScope单机多worker的计算性能以及GraphScope分布式多机多worer的计算性能。
数据上,我们选取了SNAP开源的图数据集twitter,来自 LDBC数据集的datagen-7_5-fb,datagen-7_7-zf和datagen-8_0-fb作为实验数据,以下是数据集的基本信息:
· Twitter: 81,307个顶点,1,768,135条边
· Datagen-7_5-fb: 633,432个顶点,34,185,747条边,稠密图
· Datagen-7_7-zf: 13,180,508个顶点,32,791,267条边,稀疏图
· Datagen-8_0-fb: 1,706,561个顶点,107,507,376条边,这个数据集主要测试两个系统可处理的图规模能力
实验设计上我选择常用的SSSP、BFS、PageRank、WCC算法,以及较高复杂度的All Pair shortest Path length算法,以载图时间,内存占用和计算时间这三个指标为依据,对两个系统进行计算性能的比较。
NetworkX是一个单机系统,在实验中只考虑NetworkX在单机环境下的运行时间;GraphScope支持分布式运行,故进行两个配置,一个是单机4worker,另外一个配置是4台机器,每台机器4个worker。
二、实验结果
首先,GraphScope的载图速度比NetworkX显着提升。
在前三个图数据集中,无论是GraphScope的单机多worker模式,还是GraphScope的分布式模式,载图速度都比NetworkX快:
GraphScope单机模式载图速度平均比NetworkX快5倍,最高纪录——在datagen-7_5-fb上比NetworkX快了6倍。
分布式模式下GraphScope的载图时间比NetworkX平均快了27倍,最高纪录——在datagen-7_7-zf数据集上比NetworkX快了63倍。
在datagen-8_0-fb数据集上,NetworkX因内存溢出无法载图,GraphScope单机多worker和GraphScope分布式载图时间分别为142秒和13.6秒。
表一:载图时间对比
载图时间
NetworkX
GraphScope单机
GraphScope分布式
twitter
11.2
3.1
1.8
datagen-7_5-fb
256
45.6
36.6
datagen-7_7-zf
316
71.3
50
datagen-8_0-fb
OOM
142
13.6
其次,GraphScope的内存使用效率比NetworkX显着提升。
在datagen-8_0-fb数据集上,NetworkX在32G的内存上无法载完图,而GraphScope仅需要24G的内存即可载入在datagen-8_0-fb数据集。
表二:内存占用对比
内存占用
NetworkX
GraphScope
datagen-7_5-fb
14G
6G
datagen-7_7-zf
28G
18G
datagen-8_0-fb
OOM
24G
再次,GraphScope的计算速度比NetworkX显着提升。
SSSP算法上,GraphScope单机多worker模式平均要比NetworkX快22倍,最快在datagen-7_7-zf数据集上快了32倍。GraphScope分布式模式下平均要比NetworkX快103倍,最快datagen-7_5-fb数据集上快了182倍。
表三: SSSP计算时间对比(单位:秒)
SSSP
NetworkX
GraphScope单机
GraphScope分布式
twitter
2.45
1.32
0.28
datagen-7_5-fb
37.9
1.21
0.31
datagen-7_7-zf
5.84
0.18
0.03
datagen-8_0-fb
OOM
2.76
0.82
BFS算法上,GraphScope单机多worker模式平均要比NetworkX快13倍,最快datagen-7_5-fb数据集上快了22倍。GraphScope分布式模式下平均要比NetworkX快16倍,最快在datagen-7_5-fb数据集上快了28倍。
表四: BFS计算时间对比(单位:秒)
BFS
NetworkX
GraphScope单机
GraphScope分布式
twitter
1.53
0.16
0.17
datagen-7_5-fb
44.68
2.52
1.56
datagen-7_7-zf
7.98
0.75
0.72
datagen-8_0-fb
OOM
11.02
5.73
PageRank算法上,GraphScope单机多worker模式平均要比NetworkX快62倍,最快twitter数据集上快了80倍。GraphScope分布式模式下平均要比NetworkX快65倍,最快在twitter数据集上快了71倍。
另外,PageRank计算过程中,NetworkX在datagen-7_7-zf上内存溢出,没有完成计算,GraphScope单机多worker模式和分布式模式计算时间分别为25秒和22秒;
表五:PageRank计算时间对比(单位:秒)
PageRank
NetworkX
GraphScope单机
GraphScope分布式
twitter
24.01
0.37
0.33
datagen-7_5-fb
300
6.73
5.17
datagen-7_7-zf
OOM
19.31
7.79
datagen-8_0-fb
OOM
24.96
21.88
WCC算法上,GraphScope单机多worker模式平均要比NetworkX快44倍,最快在datagen-7_7-zf数据集上快了104倍。GraphScope分布式模式下平均要比NetworkX快76倍,最快datagen-7_5-fb数据集上快了194倍。
表六: WCC计算时间对比(单位:秒)
WCC
NetworkX
GraphScope单机
GraphScope分布式
twitter
0.6392
0.0296
0.0233
datagen-7_5-fb
26.03
0.25
0.13
datagen-7_7-zf
83.19
14.57
12.98
datagen-8_0-fb
OOM
0.34
0.4991
在复杂度极高的All pair shortest path length算法上,NetworkX在twitter图上即内存溢出,无法计算。GraphScope在分布式模式下完成了twitter图的All pair shortest path length计算,耗时76分钟。
表七: All Pair Shortest Path Length(单位:秒)
APSP
NetworkX
GraphScope单机
GraphScope分布式
twitter
OOM
OOM
4575.87
三、总结
从实验结果可以看到,在同等条件下,无论在载图时间、内存占用和计算时间上,GraphScope都要大大优于NetworkX,性能优化可以达到几十倍甚至上百倍。
6979阿强
关注
0
0
0
@网络算法工具 networkX igraph 的性能问题
alston_ethannical的博客
24
@网络算法工具 networkX igraph 的性能问题 问题的提出 当我用 50万数据去跑 networkX 开发出来的算法时,遇到了一个计算性能的问题,这个问题时很慢。 寻找答案 发现 networkX再性能方面比较差。当节点上万,边上十万的时候,新能慢的问题就会显现出来 为了解决图算法问题,该怎么办呢 遇到问题,首先定义问题的边界。也就是 先找到限制问题的条件。然后缩小问题范围。我要解决的问题是:在解决图算法相关的问题时,如何能够快速计算出结果。但是目前的算法时用networks实现的。问题的根源是
开源!一文了解阿里一站式图计算平台GraphScope
阿里云开发者
2767
简介:随着大数据的爆发,图数据的应用规模不断增长,现有的图计算系统仍然存在一定的局限。阿里巴巴拥有全球最大的商品知识图谱,在丰富的图场景和真实应用的驱动下,阿里巴巴达摩院智能计算实验室研发并开源了全球首个一站式超大规模分布式图计算平台GraphScope,并入选中国科学技术协会“科创中国”平台。本文详解图计算的原理和应用及GraphScope的架构设计。一 什么是图计算图数据对一组对象(顶点)及其关系(边)进行建模,可以直观、自然地表示现实世界中各种实体对象以及它们之间的关系。在大数据场景下,社交网络、交
一文了解阿里一站式图计算平台GraphScope_阿里云云栖号
10-2
GraphScope 提供了各类常用的分析算法,包括连通性计算类、社区发现类和 PageRank、中心度等数值计算类的算法,后续会不断扩展算法包,在超大规模图上提供与 NetworkX 算法库兼容的分析能力。此外也提供了丰富的图学习算法包,内置支持 Graph...
5大典型模型测试单机训练速度超对标框架,飞桨如何做到...
10-28
导读:飞桨(PaddlePaddle)致力于让深度学习技术的创新与应用更简单。在单机训练速度方面,通过高并行、低开销的异步执行策略和高效率的核心算子,优化静态图训练性能,在Paddle Fluid v1.5.0的基准测试中,在7个典型模型上进行了测试(图像领域...
强化学习经典算法笔记(六):深度Q值网络 Deep Q Network
hhy_csdn的博客
9093
前期回顾 强化学习经典算法笔记(零):贝尔曼方程的推导 强化学习经典算法笔记(一):价值迭代算法Value Iteration 强化学习经典算法笔记(二):策略迭代算法Policy Iteration 强化学习经典算法笔记(三):蒙特卡罗方法Monte Calo Method 强化学习经典算法笔记(四):时间差分算法Temporal Difference(Q-Learning算法) 强化学习经典算...
GraphX和GraphFrame connectedComponent计算性能对比
高臭臭的博客
3046
测试文件:用Graph rmatGraph 1000000 2000000 去重后 494587个点,1997743个边 运行环境:三台服务器,246 GB,core 71. 测试三个运行例子1:Graph connectedComponents 2:GraphFrame connectedComponents 3:GraphFrame connectedComponents setAlgor
...network、伪代码、算法理解、代码实现、tensorboard...
11-3
定义一个q_network函数来构建Q network,输入游戏状态Q network并得到对所有动作的Q值。 网络构成给为三个带有池化的卷积层和一个全连接层。 tf.reset_default_graph()defq_network(X,name_scope):# Initialize layersinitializer=tf....
【读书笔记】【机器学习实战】第十一章:训练深度神经网络
MJ_Lee的博客
612
阅读书籍为《Hands-On Machine Learning with Scikit-Learn & TensorFlow》王静源等翻译的中文译版《机器学习实战,基于 Scikit-Learn 和 TensorFlow》,本文中所有图片均来自于书籍相关部分截图。 本章介绍了DNN训练过程中三个常见问题,并依次给出解决方案。 章节的最后还给出当不知道如何DNN训练时一些属性可以选的比较好的...
Networkx 计算网络效率
tengqingyong的博客
5860
本人在计算网络效率的时候遇到了一个问题 networkx 提供了最短路径函数shortest_path及shorest_path_length 我在计算网络效率构造了一个无向图,但是我在计算点与点之间的最短路径长度时总是提示我说点不存在图中, 我在上面使用nx.average_shortest_path_length(UG)的时候可以得到网络平均最短路径长度;这个说明我的点都...
Pandas/networkx图分析简单入门
weixin_34306676的博客
516
对于图论而言,大家或多或少有些了解,数学专业或计算机相关专业的读者可能对其更加清楚。图论中的图像是由若干给定的点及连接两点的线所构成的图形,这样的图像通常用来描述某些事物之间的某种特定关系,用点代表事物,用两点之间的连接线表示二者具有的某种关系,在互联网与通信行业中应用广泛。图论分析(Graph analysis)并不是数据科学领域中的新分...
networkx--四种网络模型
weixin_30764883的博客
380
NetworkX提供了4种常见网络的建模方法,分别是:规则图,ER随机图,WS小世界网络和BA无标度网络。 一. 规则图 规则图差不多是最没有复杂性的一类图,random_graphs.random_regular_graph(d, n)方法可以生成一个含有n个节点,每个节点有d个邻居节点的规则图。 下面一段示例代码,生成了包含20个节点、每个节点有3个邻居的规则...
igraph/networkx学习笔记之…
nuoline的专栏
1万+
原文地址:—— 数据结构">igraph/networkx学习笔记之一 —— 数据结构作者:zhengw789 首先,基本上所有的graph library都有其局限性,不同的数据结构有优点的同时必然有缺点,图算法对数据结构的依赖性构成另一个原因。所以如果是想用一个工具包解决所有的问题显然是一种奢望,很多时候甚至必须要从头写自己的代码。但是阅读igraph和networkx这样成型了的函数库对熟悉
python下的复杂网络编程包networkx的使用(摘抄)
weixin_30631587的博客
2335
原文:http://blog.sciencenet.cn/home.php?mod=space&uid=404069&do=blog&classid=141080&view=me&from=space 复杂网络分析库NetworkX学习笔记(1):入门 NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网...
更快更简单|飞桨PaddlePaddle单机训练速度优化最佳实践
PaddlePaddle
1672
导读:飞桨(PaddlePaddle)致力于让深度学习技术的创新与应用更简单。在单机训练速度方面,通过高并行、低开销的异步执行策略和高效率的核心算子,优化静态图训练性能,...
GraphX与GraphLab、Pregel的对比
yang灬仔
588
分布式批同步BSP Pregel、GraphLab、GraphX都是基于BSP(Bulk Synchronous Parallel)模式,即整体同步并行。一次计算过程由一系列全局超步组成,每一个超步由并发计算、通信和同步三个步骤组成。从垂直上看,一个程序由一系列串行的超步组成。从水平上看,在一个超步中,所有的进程并行执行局部计算。BSP最大的好处是编程简单,但在某些情况下BSP运算的性能非常差,...
TensorFlow学习记录:VGGNet卷积神经网络模型
weixin_41137655的博客
308
1.VGGNet模型结构简介 VGGNet是由牛津大学计算机视觉几何组(Visual Geomety Group,VGG)和Google Deepmind公司的研究员合作研发的深度卷积神经网络,VGG的成员Karen Simonyan和Andrew Zisserman在2014年撰写的论文《Very Deep Convolutional Networks for Large-Scale Image...
11月编程语言排行冠军揭晓,稳
热门推荐
IT教育任姐姐的博客
4万+
大家好 今天任姐姐要跟小伙伴们分享 2021年11月最新TIOBE指数 11月编程排行榜 Python继续榜首 本月的幸运儿只有一个,那就是Python! 继上个月我们见证了Python夺冠这一历史性的画面之后,这个月Python仍旧稳坐榜首,看来Python这股大风还在继续刮。 随后分别是 C、Java、C++、C#,这些也都是我们的老朋友了。 PHP即将跌出前十 自20多年前TIOBE 指数开始发布以来,PHP 一直常驻在榜单前十,然而最近,该语言已经开始在前十
python能做什么软件?Python到底能干嘛,一文看懂
小分享
6573
Python培训有哪些内容?很多零基础学员不知道Python软件是干什么用的?Python软件是Python工程师编写代码时所需要的编辑工具,现在比较常用的Python软件有Visu... 那么在选择Python培训机构时学生尤为关注的就是培训内容,从现在几家大的机构可以看出,Python培训主要学习第一阶段Python核心编程(Pyth... 一文读懂Python内置变量,函数,模块在这里解释下什么是解释性语言什么是编译性语言: 编译性语言:如c++,c等,写好的代码要通过编译器编译成操作系统直接可
Django中超级用户的创建和删除操作
最新发布
Protinx的博客
91
创建超级用户 这就很easy了,毕竟这是所有初学者都会的,操作如下: 打开Terminal,输入: python manage.py createsuperuser 然后按照提示输入相应的用户名、邮箱和密码就可以啦,如下: 创建超级用户 可以看到上面我的密码输入了三次,还有不成功的提示,Django本身对于超级用户的密码要求还是很多的,大家定义密码要注意啊,或者如果只是自己学习的话,也可在‘Bypass password validation and create user an.
上海python培训中心
weixin_63757190的博客
166
前几天,有个读者在后台留言,说: “最近被论文折磨得快崩溃了,我现在是恨不得克隆十个自己,一个呆在科室值班,一个去写月底要送审的稿子,一个去上百个网站翻数据..... 还有另外七个“我”,这边六七篇论文还没搞定。那边又有新论文要开题了,加上最后一个“本我”,刚刚够用,我可真是个数学天才! 可现实是只有一个我,只能天天熬夜。 好家伙,整得我都开始反问自己,是不是只有我的科研生活这么兵荒马乱?” 其实他不是个例,成千上万的科研人都要面对无尽的实验分析、反复修改的论文。 难道就只有被虐的份吗?
python装饰器
Live&Learn的博客
1208
学习目标:一口气把装饰器描述清楚 弄清楚装饰器前要理解三个东西: 函数对象、函数嵌套、函数构成闭包。 学习内容: 函数对象好说,python编程语言属于动态语言,python中一切皆对象,所以函数也是对象。 函数对象用函数名称表示(仅名称,没有括号,也没有参数)。 例如,定义了一个求和函数add,那么此处的add就是个函数对象。 def add(username, a, b): print(f"{a}+{b}={a + b}") return a + b 函数嵌套或者嵌套函数,就是定
©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
关于我们
招贤纳士
广告服务
开发助手
400-660-0108
[email protected]
在线客服
工作时间 8:30-22:00
公安备案号11010502030143
京ICP备19004658号
京网文〔2020〕1039-165号
经营性网站备案信息
北京互联网违法和不良信息举报中心
网络110报警服务
中国互联网举报中心
家长监护
Chrome商店下载
©1999-2021北京创新乐知网络技术有限公司
版权与免责声明
版权申诉
出版物许可证
营业执照
6979阿强
码龄0年
暂无认证
11
原创
13万+
周排名
12万+
总排名
579
访问
等级
132
积分
1
粉丝
1
获赞
0
评论
1
收藏
私信
关注
热门文章
GraphScope、Neo4j与TigerGraph单机环境下性能对比 146
NetworkX与GraphScope的性能对比 88
GraphScope、Gemini与GraphX的性能对比 60
分布式图计算引擎 46
国足历届世界杯对战图关系 45
最新评论
图分析入门
大家一起学编程(python): 感谢博主的分享!
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
最新文章
2021-10-11
图数据库在社交方向上的应用
国足历届世界杯对战图关系
2021年11篇
你的浏览器目前处于缩放状态,页面可能会出现错位现象,建议100%大小显示。
举报
————————————————
版权声明:本文为CSDN博主“6979阿强”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tanekf6979/article/details/120067176
㈥ 为什么现在的CNN模型都是在GoogleNet,VGGNet或者AlexNet上调整的
哈哈遇到一个好适合回答的问题。你问为什么看到现在很多的模型都是在这几个上面修改的,基础模型的演进方案Bolei讲的非常清楚,我从我在工业界一年多的角度补充几点,有下面几个原因
1. 那是因为你看到的大部分是公开的论文,公开的论文需要一个标准的baseline及在baseline上改进的比较,因此大家会基于一个公认的baseline开始做实验大家才比较信服。常见的比如各种检测分割的问题都会基于VGG或者Resnet101这样的基础网络。而这类型paper很多,就会有种业内只有这几个模型的错觉
2. 发表论文的同学多数是在校的phd同学,首先大家有强大的科研压力和ddl的压力,时间和精力只允许大家在有限的范围探索。因此基于vision问题的特性进行各种模型和算法方案的改进肯定是更有novelty(也是更符合发paper的思路),所以有限的精力就放在了另外的方面而继续沿用目前VGG/GoogleNet/AlexNet/Resnet这样的baseline
3. 进行基本模型的改进需要大量的实验和尝试,很有可能投入产出比比较小。能做到Kaiming ResNet这样的工作真是需要大量的实验积累加强大的灵感,真是偶像。我们大部分人自己的实验过程,很多之前预想的可能会work的idea经过尝试可能提升有限(失望脸,没法毕业怎么办)。基于我们今年参与ImageNet的经历来讲,对于深度学习,很大部分可以提升性能的点在于一些对于细节的精确把握。因此你可以看到许多排名靠前的队伍最后讲的关键技术点似乎都是tricks。而这样精确细节的把握是需要大量的时间和计算资源的,往往在学校不可行。因此有大量计算资源的比如香港中文大学,我司商汤科技,公安三所,海康等成绩靠前。PS,我们之后会公布我们今年参加ImageNet Scene Parsing比赛拿到第一的技术方案(paper+code+model),实际构成是一些insights(可以写paper的技术点)加大量的tricks(好像不太容易写paper)。敬请期待
㈦ 如何分析一个图像分割算法
论文阅读笔记:图像分割方法deeplab以及Hole算法解析
deeplab发表在ICLR
2015上。论文下载地址:Semantic
Image
Segmentation
with
Deep
Convolutional
Nets
and
Fully
Connected
CRFS.
deeplab方法概述
deeplab方法分为两步走,第一步仍然采用了FCN得到
coarse
score
map并插值到原图像大小,然后第二步借用fully
connected
CRF对从FCN得到的分割结果进行细节上的refine。
下面这张图很清楚地展示了整个结构:
然后这张图展示了CRF处理前后的效果对比,可以看出用了CRF以后,细节确实改善了很多:
deeplab对FCN更加优雅的处理方式
在第一步中,deeplab仍然采用了FCN来得到score
map,并且也是在VGG网络上进行fine-tuning。但是在得到score
map的处理方式上,要比原FCN处理的优雅很多。
还记得CVPR
2015的FCN中是怎么得到一个更加dense的score
map的吗?
是一张500x500的输入图像,直接在第一个卷积层上conv1_1来了一个100的大padding。最终在fc7层勉强得到一个16x16的score
map。虽然处理上稍显粗糙,但是毕竟人家是第一次将图像分割在CNN上搞成end-to-end,并且在当时performance是state-of-the-art,也很理解。
deeplab摒弃了这种做法,取而代之的是对VGG的网络结构上做了小改动:将VGG网络的pool4和pool5层的stride由原来的2改为了1。就是这样一个改动,使得vgg网络总的stride由原来的32变成8,进而使得在输入图像为514x514,正常的padding时,fc7能得到67x67的score
map,
要比FCN确实要dense很多很多。
但是这种改变网络结果的做法也带来了一个问题:
stride改变以后,如果想继续利用vgg
model进行fine
tuning,会导致后面filter作用的区域发生改变,换句话说就是感受野发生变化。这个问题在下图(a)
(b)中通过花括号体现出来了:
Hole算法
于是乎,作者想出了一招,来解决两个看似有点矛盾的问题:
既想利用已经训练好的模型进行fine-tuning,又想改变网络结构得到更加dense的score
map.
这个解决办法就是采用Hole算法。如下图(a)
(b)所示,在以往的卷积或者pooling中,一个filter中相邻的权重作用在feature
map上的位置都是物理上连续的。如下图(c)所示,为了保证感受野不发生变化,某一层的stride由2变为1以后,后面的层需要采用hole算法,具体来讲就是将连续的连接关系是根据hole
size大小变成skip连接的(图(c)为了显示方便直接画在本层上了)。不要被(c)中的padding为2吓着了,其实2个padding不会同时和一个filter相连。
pool4的stride由2变为1,则紧接着的conv5_1,
conv5_2和conv5_3中hole
size为2。接着pool5由2变为1,
则后面的fc6中hole
size为4。
代码
主要是im2col(前传)和col2im(反传)中做了改动
(增加了hole_w,
hole_h),这里只贴cpu的用于理解:
㈧ unet模型属于哪种神经网络
unet模型属于卷积神经网络。是德国弗莱堡大学计算机科学系为生物医学图像分割而开发的,该网络基于全卷积网络其架构经过修改和扩展,可以使用更少的训练图像并产生更精确的分割,Unet是2015年诞生的模型。
unet模型的特点
Unet是比较早的基于深度学习的分割算法了,优点是速度真的快P100上基于VGG的backbone能跑到50帧,同时不是太开放的场景下可以做到令人满意的分割效果,在对实时性要求较高的场合下是比较适用的不是所有的场合都能上MaskRCNN的Backbone大一点。
如果显卡差点就容易爆显存了,同时相比大分割网络的模型动辄几百Mb,Unet用小backbone模型就可以做到10Mb内,Conv层通道减少一点再把网络模型参数分开,模型大小可以做到很小,用CPU跑速度都挺快的,关键是分割精度在较为简单场景下还可以。