caffe网络结构几个部分简单介绍

caffe网络结构几个部分简单介绍

ID:20418749

大小:58.50 KB

页数:4页

时间:2018-10-12

caffe网络结构几个部分简单介绍_第1页
caffe网络结构几个部分简单介绍_第2页
caffe网络结构几个部分简单介绍_第3页
caffe网络结构几个部分简单介绍_第4页
资源描述:

《caffe网络结构几个部分简单介绍》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、卞面这个复制于一片知乎首先应该了解下几个大的炎,比如blob,net,layer,solver,然后看怎么从proto文件中初始化创建网络,blob,layer,net这儿层关系中数据是如何传递的。至于不同的layer,用到那种layer的吋候再看就ok。1.初识Caffe1.1.Caffe相对与其他DL框架的优点和缺点:优点:速度快。GoogleProtocolBuffer数据标准为Caffe提升了效率。•学水论文采用此模型较多。不确定是不是最多,但接触到的不少论文都与Caffe有关(R-CNN,DSN,最近还有人用Caffe实现LSTM)缺点:•曾更新过S要函数

2、接口。有人反映,偶尔会出现接U变换的情况,自己很久前写的代码对能过了一段时间就不能和新版本很好地兼容了。(现在更新速度放缓,接口逐少趋于稳定,感谢评论区王峰的建议)•对于某些研究方向来说的人并不适合。这个需要对Caffe的结构冇一定了解,(盾面提到)。1.2.Caffe代码层次。回答里面有人说熟悉Blob,Layer,Net,Solver这样的几大秃,我比较赞同。我基本是从这个顺序开始学习的,这四个类复杂性从低到高,贯穿了整个Caffeo把他们分为三个层次介绍。Blob:是基础的数据结构,是用來保存学AI到的参数以及网络传输过程中产牛.数据的类。Layer:是网络的

3、基木单元,由此派生出了各种层:类。修改这部分的人主要是研究特征表达方向的。Net:是网络的搭建,将Layer所派生出层类组合成网络。Solver:是Net的求解,修改这部分人主要会是研究DL求解方向的。2.Caffe进阶2.1.Blob:Caffe支持CUDA,在数据级别上也做了一些优化,这部分最重要的是知道它主要是对protocolbuffer所定义的数据结构的继承,Caffe也因此可以在尽可能小的内存占用下获得很高的效率。(追求性能的同时Caffe也牺牲了-•些代码可读性)在更高一级的Layer中Blob用下而的形式表示学习到的参数:vector

4、ptr>>blobs」这里使用的是一个Blob的容器是因为某些Layer包含多组学习参数,比如多个卷积核的卷积层。以及Layer所传递的数据形式,后面还会涉及到这里:vector*>Scbottom;vector*>*top2.2.Layer:2.2.1.5大Layer派生类型Caffe十分强调网络的层次性,也就是说卷积操作,非线性变换(ReLU等),Pooling,权值选接等全部都由某一种Layer来表承。具体来说分为5大笑LayerNeuronLayer类定义于neuronjayers.hp

5、p中,其派生类主要是元素级别的运算(比如Dropout运算,激活函数ReLu,Sigmoid等),运算均为同址计算(in-placecomputation,返回值覆盖原值而用新的内存)。LossLayer类定义于lossjayers.hpp中,其•派生戈会产生loss,只行这些W能够产zl:lOSSo•数据层定义于datajayer.hpp巾,作为网络的最底层,主要实现数裾格式的转换。特征表达层(我自己分的类)定义于visionjayers.hpp(力什么叫vision这个名字,我目前还不淸楚),变现特征表达功能,更具体地说乜含卷积操作,Pooling操作,他们菽木

6、都会产生新的内存心用(Pooling相对较小)。•网络连接层和激活函数(我自己分的类)定义于commonjayers.hpp,Caffe提供了甲个多个U的连接,并在这个头文件中声明。这里还包括/常用的全连接层InnerProductLayer类。Layer的重要成员函数在Layer内部,数据主要有W种传递方式,正向传导(Forward)和反向传导(Backward)oForward和Backward有CPU和GPU(部分有)W种实现。Caffe中所有的Uyer都要用这两种方法传递数据。virtualvoidForward(constvcctor

7、>*>&bottom,vector*>氺top)=0;virtualvoidBackward(constvectorfepropagatedown,vector*>^bottom)=0;Layer类派生出来的M类通过这实现这两个虚函数,产生了各式各样功能的M类。Forward是从根据bottom计算top的过程,Backward则相反(根据top计算bottom)。注意这里为什么用了一个含Blob的容器(vector),对于大多数Layer来说

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。