caffe的输入
决定将caffe分为几个部分进行总结,首先是第一部分,输入数据以及输入层。
首先从输入数据对BP的影响开始介绍。
sgd的随机性
由于是sgd,因此样本一定要shuffle。BP中说到,样本选择遵循俩个原则:1.shuffle,让样本囊括所有类,2. 使得误差大的样本多出现,而误差小的少出现。
首先说一说第一个:
随机性,这个在caffe中都是怎么体现的呢?先说说caffe中的输入格式吧,leveldb, image原始数据,hdf5,lmdb。其中对应的类有data_layer, image_data_layer,windows_data_layer,hdf5_data_layer。使用leveldb作为输入的层,在打leveldb时已经shuffle过了,一定要选择要随机打leveldb,否则模型无法训练的。而用image原始数据作为输入的层,在读入数据列表后,image_Data_layer会先进行整体shuffle,然后再进行训练。而window_data_layer,首先读取数据列表,然后在训练过程中,读取数据时,每次读的数据时随机的。而hdf5和lmdb,我没有打过hdf5,lmdb,等我调查后再补充,从代码来看,应该在打hdf5时就要随机的。
第二点呢,这个其实在caffe里我没有看到相关的应用,我想可能主要是因为caffe主要是针对大数据训练的(咳咳,现在说到大数据我就别扭,连什么什么会都开始什么都冠名“大”了,太俗了)。在这种情况下,想要记录每一个训练样本的误差,是基本上无法实现的,而且当数据量大了,也不需要去在乎这个了。但是,这个训练策略是值得一提的,在SVM的训练中,用到的是hard negative minning,就是这个原理,或者差不多吧。在SVM的训练过程中,每次都是选择那些分错的从新训练,而分对的不需要再进行。具体理论保证,我好想又忘记了……
本小题未完待续,最近系统看关于fp,bp的文章,efficient bp我第三次看,还是白板一样,全是新知识扑面而来。
caffe的输入的更多相关文章
- caffe卷积输入通道如何到输出通道
今天一个同学问 卷积过程好像是对 一个通道的图像进行卷积, 比如10个卷积核,得到10个feature map, 那么输入图像为RGB三个通道呢,输出就为 30个feature map 吗, 答案肯定 ...
- c++ 和 matlab 下的caffe模型输入差异
在向一个caffe模型传递输入数据的时候,要注意以下两点: 1. opencv中Mat数据在内存中的存放方式是按行存储,matlab中图像在内存中的存放方式是按列存储. 2. opencv中Mat数据 ...
- caffe添加自己的数据输入层
整体思路: 阅读caffe数据输入层各个类之间的继承关系,确定当前类需要继承的父类以及所需参数的设置. 编写zzq_data.cpp 在layer_factory.cpp中完成注册: 在caffe.p ...
- Caffe学习笔记(三):Caffe数据是如何输入和输出的?
Caffe学习笔记(三):Caffe数据是如何输入和输出的? Caffe中的数据流以Blobs进行传输,在<Caffe学习笔记(一):Caffe架构及其模型解析>中已经对Blobs进行了简 ...
- Caffe训练好的网络对图像分类
对于训练好的Caffe 网络 输入:彩色or灰度图片 做minist 下手写识别分类,不能直接使用,需去除均值图像,同时将输入图像像素归一化到0-1直接即可. #include <caffe/c ...
- (原)caffe中fine tuning及使用snapshot时的sh命令
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5946041.html 参考网址: http://caffe.berkeleyvision.org/tu ...
- 总结一下用caffe跑图片数据的研究流程
近期在用caffe玩一些数据集,这些数据集是从淘宝爬下来的图片.主要是想研究一下对女性衣服的分类. 以下是一些详细的操作流程,这里总结一下. 1 爬取数据.写爬虫从淘宝爬取自己须要的数据. 2 数据预 ...
- windows下用c++调用caffe做前向
参考博客: https://blog.csdn.net/muyouhang/article/details/54773265 https://blog.csdn.net/hhh0209/article ...
- TensorRT加速 ——NVIDIA终端AI芯片加速用,可以直接利用caffe或TensorFlow生成的模型来predict(inference)
官网:https://developer.nvidia.com/tensorrt 作用:NVIDIA TensorRT™ is a high-performance deep learning inf ...
随机推荐
- Unity Resources.Load
GameObject bulletPrefab; void Start() { bulletPrefab = Resources.Load("bulletPrefab") a ...
- Linux pid与tgid概念
在Linux操作系统层面,线程其实只是特殊的进程,最特殊之处在于跟其他“线程进程“共享内存(包括代码段.数据段等,但不共享栈). 这两天看书老是看到线程组(thread group),但是线程组是什么 ...
- (转)Rsync命令详解
Rsync命令详解 原文:http://blog.51cto.com/irow10/1826249 说明: Rsync是linux/Unix文件同步和传送工具.用于替代rcp的一个工具,rsync可以 ...
- verilog if语句
a.基本形式 1) if(表达式) 语句1: 2)if(表达式) 语句1: else 语句1 3) if(表达式1) 语句1: else if(表达式2) 语句2: else if(表达式3) ...
- JavaScript DOM基础总结
上个月在进行百度三面时候,面试官提问JavaScript DOM方法,我回答的有点少,前面太关注JavaScript 兼容性,框架方面,JavaScript 原生DOM基础没有记牢,心中有点遗憾.下来 ...
- 【Linux】ping命令详解
1.ping指定目的地址10.10.0.1 为接口tun0 ping 10.10.0.1 -i tun0
- MVC学习手册之数据注解与验证
MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...
- c# cook book -Linq 关于Object的比较
实际项目中经常用到 Union,Distinct,INtersect,Execpt对列表进行处理 一般来说要首先重写 Equals 和GetHashCode方法 首先看为重写的情况: namespac ...
- 用IDEA创建一个SpringBoot项目
next后等待项目构建完成 运行方法一: 方法二:
- 《java提高数据导入效率优化思路》
写在前边的实现需求: 1.总共10万个电话号码: 2.电话号码中有重复和错误: 3.查找出正确的号码(不重复): 一.优化前的实现方式: 1.先用正则过滤一遍10万条数据,找出错误的: 2.用List ...