博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
caffe 学习记录1及网络结构
阅读量:7101 次
发布时间:2019-06-28

本文共 1761 字,大约阅读时间需要 5 分钟。

1 ubuntu git clone 默认在当前文件夹

2 caffe 基础了解:

3 当然,官网才是大牛:

4 Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

5 深度学习结构剖析(错误纠正,(2)代表一个滤波器多个参数<->一个滤波器一个参数)

6  (原文)  (实际上caffe并不这么做)这是我一直困惑的,被这个教程搞得一个星期头晕。caffe中所有输入特征子图和所有输出特征子图都相连。或许,以后直接从直观上思考这个问题,什么破连接,什么节点图,晕死!

(计算详细一文)

链接1的一个评论:再解释下C3的1516个权值是怎么来的。可以看这个博客http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html

S2层有6个特征图,尺寸14*14。可以认为S2每个特征图是由14*14个共享权值的神经元输出的(等效为一个神经元卷积)。注意S2与C3不完全连接,C3的第一个特征图只与S2前三个特征图相连。具体看:C3里第一个特征图的一个神经元,与S2里第一个特征图的5*5神经元相连,同时也与第二个特征图的5*5相连,也与第三个特征图的5*5相连。因此C3第一个特征图的权值数为(5*5*3+1). 
其实应该有个非常形象化的过程,就是三维卷积,你把S2层想成一个立方体,厚度为6,横截尺寸14*14, C3第一个特征图实际上是对这个立方体前三层的三维卷积。
再说连接数,C3第一个特征图里共享权值的神经元是10*10个,因此连接数是(5*5*3+1)*100
1516怎么来的?
(5*5*3+1)*6+(5*5*4+1)*9+(5*5*6+1)=1516
连接数,其实就是神经元复制了100次:
1516*100
看到下面有人说卷积核是60个,这个理解应该是把卷积只限制在S2的一个特征图上了,用三维卷积的角度考虑,卷积核实际上实在多特征图上进行,所以卷积核应该是16个
(用60个卷积核推导出的权值数和连接数还是1516和151600吗??)

个人理解,如果错了恳求大家指出,我也好改正

按照链接2(good):计算C5,由于全连接,故有,C5和S4中所有的挨个连,然后共加起来,再添加一个偏置,共(5*5*16+1)=401个参数,则120个共有120*401=48120个参数。当然,由于滤波器扫描移动是“1*1”,故连接数也是48120个。

按照链接2:F6的连接84(设计的),每个都全连接C5中120个特征子图(1*1),然后加起来,再添加一个偏置,共(1*1*120+1)=121个参数,则84个共有

84*121=10164个

注1:如此,输入相当于只有一个特征子图。

注2:最终经过一个sigmoid函数输出。还有什么径向基函数

 

总结思路:

参数计算:我的判别式如下表达式,其中L是上层Ck-1层的特征子图个数,F是滤波器参数个数,通常等于*×*,1是偏置,i代表本层Ck标号,共C个特征子图。Lik指Ck层的第i个连接Ck-1层的特征子图个数。的求和指对所有标号求和,因为,不是全连接时,各个标号是不对称的,对应的参数也不一样。

(1)特殊地,对于pooling,通常F=1,Lik=1,代表滤波器只有一个参数,F=1感受野的像素之后乘上一个权重,L=1代表pooling只可能与Ci-1有关。

(2)特殊地,对于第一数据输入层,Lik=1

连接数的计算:我的判别式如下表达式,说明类似上面,多加一个M,代表Ck层每个滤波器在Ck-1层滑动的总步数,通常等于*×*。考虑可能滑动之后与滑动之前有部分重叠,也有可能不重叠。特殊地,M不使前后层重叠。对于pooling,通常F=1,Lik=1,代表滤波器只有一个参数,F=1感受野的像素之后乘上一个权重,Lik=1代表pooling只可能与Ck-1有关。

注意:

最后给出caffe作者的图文解释:

按照caffe中的结论,对比总结中的参数计算,Lik=上层特征子图数(通道数/输入个数)

 

转载于:https://www.cnblogs.com/Wanggcong/p/5151200.html

你可能感兴趣的文章
Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 ...
查看>>
【Linux】查看所使用的Linux系统是32位还是64 位的方法
查看>>
NSJSONSerialization 反序列化失败 NSCocoaErrorDomain Code=3840
查看>>
chrome 谷歌浏览器插件损坏
查看>>
前端知识十分钟预览之学习札记
查看>>
ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
查看>>
JavaWeb学习总结(十三)——使用Session防止表单重复提交
查看>>
C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 617人阅读 评论(1...
查看>>
BWA MEM算法
查看>>
jni
查看>>
openstack neutron中涉及的网络设备
查看>>
LoadRunner
查看>>
多线程与异步的区别
查看>>
cocos2d-X JS 获取cocostudio中的UI组件
查看>>
Jmeter 2.3.4 报表参数意义
查看>>
Linux命令vi/vim
查看>>
短信API在最土团购开源程序中的运用
查看>>
快速排序
查看>>
Opencv cvCircle函数
查看>>
Spring源码解析——如何阅读源码
查看>>