ubuntu git clone 默认在当前文件夹

caffe 基础了解:https://www.zhihu.com/question/27982282/answer/39350629

当然,官网才是大牛:http://caffe.berkeleyvision.org/

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

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

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

http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html(计算详细一文)

链接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作者的图文解释:http://www.zhihu.com/question/28385679

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

caffe 学习记录1及网络结构的更多相关文章

  1. caffe学习记录

    结论: caffe网络的prototxt训练与测试的时候用的是不同的,训练的时候用的prototxt里面有test只是为了测试网络的训练程度,里面的测试集是验证集,并不是真正我们测试的时候用的网络定义 ...

  2. caffe学习记录2——blobs

    参考:caffe官网  2016-01-23 10:08:22 1 blobs,layers,nets是caffe模型的骨架 2 blobs是作者写好的数据存储的“容器”,可以有效实现CPU和GPU之 ...

  3. Caffe学习笔记(一):Caffe架构及其模型解析

    Caffe学习笔记(一):Caffe架构及其模型解析 写在前面:关于caffe平台如何快速搭建以及如何在caffe上进行训练与预测,请参见前面的文章<caffe平台快速搭建:caffe+wind ...

  4. caffe学习三:使用Faster RCNN训练自己的数据

    本文假设你已经完成了安装,并可以运行demo.py 不会安装且用PASCAL VOC数据集的请看另来两篇博客. caffe学习一:ubuntu16.04下跑Faster R-CNN demo (基于c ...

  5. Matlab 进阶学习记录

    最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal  =  proposal_config('image_means', ...

  6. Caffe学习系列(23):如何将别人训练好的model用到自己的数据上

    caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model.这个model将图片分为1000类,应该是目前为止最好的图片分类model了. 假设我现在有一些自己的图片想进行分 ...

  7. Caffe学习系列——工具篇:神经网络模型结构可视化

    Caffe学习系列——工具篇:神经网络模型结构可视化 在Caffe中,目前有两种可视化prototxt格式网络结构的方法: 使用Netscope在线可视化 使用Caffe提供的draw_net.py ...

  8. Caffe学习笔记2

    Caffe学习笔记2-用一个预训练模型提取特征 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hi ...

  9. CAFFE学习笔记(五)用caffe跑自己的jpg数据

    1 收集自己的数据 1-1 我的训练集与测试集的来源:表情包 由于网上一幅一幅图片下载非常麻烦,所以我干脆下载了两个eif表情包.同一个表情包里的图像都有很强的相似性,因此可以当成一类图像来使用.下载 ...

随机推荐

  1. 跟着vamei复习概率论

    最近重新看了一下概率论,感觉很多东西都遗忘了,还会陷入各种误区,赶紧的纠正回来. 概率论这块,主要内容包括: 事件.条件概率.随机变量.随机变量的分布函数.概率密度.联合分布.期望.方差.协方差. 我 ...

  2. hdu 4857 逃生 拓扑排序+逆向建图

    逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Descr ...

  3. android AVD启动失败原因之一

    在mac上安装好Android SDK.AVD及相关的组件之后,手动创建了一个安卓模拟器后,通过actions启动,会弹出一个提示窗口,然后就闪退,也没有报错什么的,在网上搜了半天AVD启动失败的问题 ...

  4. [Vue]组件——.sync 修饰符实现对prop 进行“双向绑定”

    一.同时设置1个 prop 1.以 update:my-prop-name 的模式触发事件,如对于title属性: this.$emit('update:title', newTitle) 2.然后父 ...

  5. Java 练习题摘录

    2018-01-21 23:23:08 1.finally与return同时出现的情况 finally中有return语句则会使try...catch中的return语句失效 public stati ...

  6. IntelliJ IDEA 返回上次编辑(鼠标停留)的地方

    idea默认的是 : Ctrl + Alt + 左箭头,与笔记本的 旋转屏幕冲突: 找到: 我更改成了: Ctrl + CapsLock :暂时没发现冲突.

  7. Stretch的Uniform和UniformToFill

    通俗理解Stretch的Uniform和UniformToFill: Uniform,控件的高度和宽度会增加直到达到了容器的大小,也就是说控件的大小和容器的大小是有关系的,同时如果给控件设置了明确的高 ...

  8. Java对象的初始化顺序

    new一个对象时,该对象的初始化顺序如下 : 父类中的静态成员变量 父类中的静态代码块 子类中的静态成员变量 子类中的静态代码块 父类中的非静态变量 父类中的非静态代码块 父类构造函数 子类中的非静态 ...

  9. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  10. 小练习:vaild number

    1.描述 给定字符串,若该字符串表示的是数字,则输出true,否则输出false 2.分析 题目一看感觉不难,做起来却很麻烦,首先是数字的各种表示要知道,然后就是对这些不同形式的数字进行筛选判断.该题 ...