caffe 中如何打乱训练数据
第一:
可以选择在将数据转换成lmdb格式时进行打乱;
设置参数--shuffle=1;(表示打乱训练数据)
默认为0,表示忽略,不打乱。
打乱的目的有两个:防止出现过分有规律的数据,导致过拟合或者不收敛。
在caffe中可能会使得,在模型进行测试时,每一个测试样本都输出相同的预测概率值。
或者,直接打乱训练文件的标签文件:train.txt
方法如下:
1)将 train_160309-train.txt按行打乱,每行内容则保持不变,命令:
- cd 存放文件的路径
- awk 'BEGIN{ 100000*srand();}{ printf "%s %s\n", rand(), $0}' train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}'
2)但这样处理后只是在屏幕上输出显示,如果需要将输出写入新的文本train.txt,则在末尾加上 | tee train.txt:
- sudo awk 'BEGIN{ 100000*srand();}{ printf "%s %s\n", rand(), $0}' train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}' | tee train.txt
3)如果不需要在屏幕上输出显示,直接将输出写入新的文本train.txt,则在末尾将 | tee 换作 > 即可:
- sudo awk 'BEGIN{ 100000*srand();}{ printf "%s %s\n", rand(), $0}' train_160309-train.txt |sort -k1n | awk '{gsub($1FS,""); print $0}' > train.txt
附:
1、awk命令详解
2、tee命令详解
参考:https://blog.csdn.net/u010555688/article/details/50475739
caffe 中如何打乱训练数据的更多相关文章
- 在caffe中使用hdf5的数据
caffe默认使用的数据格式为lmdb文件格式,它提供了把图片转为lmdb文件格式的小程序,但是呢,我的数据为一维的数据,我也要分类啊,那我怎么办?肯定有办法可以转为lmdb文件格式的,我也看了一些源 ...
- python numpy 三行代码打乱训练数据
今天发现一个用 numpy 随机化数组的技巧. 需求 我有两个数组( ndarray ):train_datasets 和 train_labels.其中,train_datasets 的每一行和 t ...
- caffe中python接口的使用
下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...
- (原)caffe中通过图像生成lmdb格式的数据
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5909121.html 参考网址: http://www.cnblogs.com/wangxiaocvp ...
- CAFFE中训练与使用阶段网络设计的不同
神经网络中,我们通过最小化神经网络来训练网络,所以在训练时最后一层是损失函数层(LOSS), 在测试时我们通过准确率来评价该网络的优劣,因此最后一层是准确率层(ACCURACY). 但是当我们真正要使 ...
- caffe中使用crop_size剪裁训练图片
layer { name: "data" type: "Data" top: "data" top: "label" i ...
- caffe学习--使用caffe中的imagenet对自己的图片进行分类训练(超级详细版) -----linux
http://blog.csdn.net/u011244794/article/details/51565786 标签: caffeimagenet 2016-06-02 12:57 9385人阅读 ...
- sql 中实现打乱数据的排序
sql 中实现打乱数据的排序 order by NEWID()就实现了数据的打乱
- caffe 中 python 数据层
caffe中大多数层用C++写成. 但是对于自己数据的输入要写对应的输入层,比如你要去图像中的一部分,不能用LMDB,或者你的label 需要特殊的标记. 这时候就需要用python 写一个输入层. ...
随机推荐
- 集训考试题tents
题目描述Pb 去郊游啦!他来到一块空地打算在这里搭一个帐篷.但是,帐篷的四个支撑点不能在落在任何位置上,而只能落在一些固定点上.现在,他找到地面上有 N 个点可以支撑帐篷.(四个支撑点必须围成一个矩形 ...
- Codeforces #449 Div2 D
#449 Div2 D 题意 交互式类题目. 起始有 n 张纸,会给出 m 次数字 p (\(1 \leq p \leq c\)),每次可选择一张纸,并在纸上写上这个数字,如果纸上已经存在数字,会覆盖 ...
- 第1天-html快速入门
开发工具:HBuilder 创建项目: 在电脑本地磁盘创建项目目录,如"D:\project" 打开HBuilder,这个工具默认会创建一个项目,我们删掉即可,然后新建项目:&qu ...
- 网站模糊测试爆破工具Wfuzz
网站模糊测试爆破工具Wfuzz 模糊测试爆破使用模糊测试的方式对HTTP请求中的各个参数同时进行猜测爆破.例如,渗透测试人员可以采用不同的HTTP请求方式来访问由字典生成的网页路径,以判断网页目录 ...
- 1.1(java学习笔记) 面向过程与面向对象
面向过程思考时,我们会先思考具体的步骤,第一步走什么,第二步做什么. 比如电脑新建文件夹,第一步:打开电脑 第二步:按下鼠标右键. 第三步:找到新建选项 第四步:点击新建选项下的文件夹 c语言是典型的 ...
- ionic 打包成apk后,所有网络请求404
无论怎么改 config.xml <allow-navigation href="http://*/*" /> <allow-intent href=" ...
- PHP将字符串首字母大小写转换
每个单词的首字母转换为大写:ucwords() <?php $foo = 'hello world!'; $foo = ucwords($foo); // Hello World! $bar = ...
- js各种验证总结
1.邮箱验证 function isEmail(str){ var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1 ...
- activiti-explorer 流程中文乱码问题
1.activiti-cfg.xml的修改,添加activityFontName和labelFontName属性 <bean id="processEngineConfiguratio ...
- easyui datagrid checkbox的相关属性整理
DataGrid其中与选择,勾选相关 DataGrid属性: singleSelect boolean 如果为true,则只允许选择一行. false ctrlSelect boolean 在启用多行 ...