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. linux下错误 && 解决方法

    1.使用yum命令安装出现错误 Error: Cannot find a valid baseurl for repo: extras 解决方法: vi /etc/resolv.conf 在此文件最后 ...

  2. ideal开发工具环境设置

    ideal现在是很流行的一种java开发工具,不得不说,它真的很好用.当你使用的时候,需要设置环境. 首先,如果产生乱码,解决如下: 设置为UTF-8 如果项目是maven项目,设置如下: 也可以设置 ...

  3. Ubuntu16.04 anaconda3 opencv已经安装,但是无法import的问题

    解决anaconda中已经安装了opencv3,但无法import的问题 你可能遇见的问题: ImportError: No module named cv2 ImportError: libz-a1 ...

  4. 从0开始 数据结构 AC自动机 hdu 2222

    参考博客 失配指针原理 使当前字符失配时跳转到另一段从root开始每一个字符都与当前已匹配字符段某一个后缀完全相同且长度最大的位置继续匹配,如同KMP算法一样,AC自动机在匹配时如果当前字符串匹配失败 ...

  5. spring @RequestMapping注解技巧

    @RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一.这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上. 下面我们看看,@Request ...

  6. C++名字查找和重载

    重载函数的定义:在同一作用域内的几个函数名字相同但形参列表不同,称为重载函数.这里有一个重要的前提就是:同一个作用域: 而如果重载函数是定义在不同的作用域,那么一旦编译器在当前作用域找到所需的名字,编 ...

  7. javascript模块化编写

    目录: 1. 开篇语 2. 对象形式写法 3. 立即执行函数写法 4. prototype写法 5. 总结 1. 开篇语 现在我们写代码不再是一个人包办所有的活儿,都是在多人合作的情况下完成的.我们只 ...

  8. POJ1247-Magnificent Meatballs

    http://poj.org/problem?id=1247 Magnificent Meatballs Time Limit: 1000MS   Memory Limit: 10000K Total ...

  9. spring mvc: rss(xml)输出

    准备: rss包插件 Rome 库及其依赖项rome-utils,jdom和slf4j <!-- rss源依赖 --> <!-- https://mvnrepository.com/ ...

  10. ItemsControl的ItemContainerStyle属性

    ItemsControl:ListBox,ComboBox,TreeView ItemContainerStyle是用来设置每一个集合控件的Item的样式的属性(即设置每一个项的样式).   使用It ...