caffe HDF5Data 层使用及数据生成
有些时候,我们的输入不是标准的图像,而是其它一些格式,比如:频谱图、特征向量等等,这种情况下LMDB、Leveldb以及ImageData layer等就不好使了,这时候我们就需要一个新的输入接口——HDF5Data.
(1) 在Matlab中生成HDF5文件
这里直接以例子的形式说明如何生成:
问题:输入data是512*1的矢量,共1000个样本,label是标量。
代码如下:
% 创建HDF5文件,包含data和label两个变量,数据类型是caffe支持的float型数据h5create('train.h5','/data',[1 1 512 1000],'Datatype','single');
h5create('train.h5','/label',[1 1 1 1000],'Datatype','single');%reshape: width x height x channels x num,注意MATLAB读数据是列优先,是和C++里面相反的。所以写数据的时候也要倒着写。train_data = reshape(train_data,[1 1 512 1000]);
train_label = reshape(train_label,[1 1 1 1000]);h5write('train.h5' ,'/data' , single(train_data));
h5write('train.h5' ,'/label', single(train_label));
关于HDF5在MATLAB里面的的其它用法,比如从指定位置开始写等等,请参照MATLAB文档。
(2) caffe中HDF5层的用法
注意:由于单个HDF5文件大小有限制,MATLAB下好像最大只能生成5G大小的文件,因此当我们的训练数据较多的时候,往往需要将数据分别写入多个H5文件中。
下面直接给出caffe中HDF5Data-layer的使用示例:
layer {name: "data"type: "HDF5Data"top: "data"top: "label"include {phase: TRAIN}hdf5_data_param {source: "train.txt"batch_size: 128shuffle: true}
}
由于可能存在多个H5文件,所以HDF5Data的输入是从一个TXT文件读取的列表,train.txt内容示例如下:
train1.h5
train2.h5
...
还需要注意,shuffle是对H5文件进行乱序,而每个H5文件内部的顺序不动。
caffe HDF5Data 层使用及数据生成相关推荐
- Caffe学习系列(2):数据层及参数
要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成.所有的参数都定义在caffe.proto这个文件 ...
- caffe学习(4)数据层
数据是学习的原料,参考官网和网友的资料,来看一下数据与数据层. Data:Ins and Outs Caffe学习系列(2):数据层及参数,denny402 数据:输入与输出 在Caffe中,数据是以 ...
- [Caffe]: HDF5Data Layer
Tensorflow.Pytorch和Caffe2的相继问世后,Caffe的热度和优势已逐渐消失. 最近,为了跑对比的实验,用到了HDF5Data层. 遇到一些问题,写篇博客记录以下. HDF5Dat ...
- 在caffe上跑自己的数据
本文介绍如何使用caffe对自己的图像数据进行分类. 1 图片数据库准备 由于图片数据收集比较费时,为了简单说明,我用了两类,dog和bird,每种约300张.train200张,val100张. 新 ...
- 设计数据层组件并在层间传递数据
Angela Crocker.Andy Olsen 和 Edward Jezierski Microsoft Corporation 2002年8月 适用于: Microsoft® .NET ...
- 数据科学的原理与技巧 二、数据生成
二.数据生成 原文:DS-100/textbook/notebooks/ch02 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 数据科学很难成为没有数据的科学. 因此重要的是, ...
- 调研-笔记-基于生成对抗网络的恶意域名训练数据生成
DGA 域名字符生成模型 域名字符分析 问题:理论上 GAN 中的生成器和判别器部分采用任意可微函数都能表示,因此其主要用于连续数据的处理,如图像生成.视频检测等[13].基于文本的离散数据处理一直是 ...
- caffe常见层及其prototxt设置
输入: Convolution: layer {name: ""type: "Convolution"bottom: ""top: &quo ...
- Caffe Vision 层 - 卷积层 ConvLayer
Caffe Vision 层 - 卷积层 ConvLayer Caffe 的视觉层一般采用 images 作为输入,输出另一种 images. 也可以是其它类型的数据和维度. images 可以是单通 ...
最新文章
- 久未更 ~ 一之 —— 关于ToolBar
- JavaScript面向对象精要(一)
- 【struts2】名为dispatcher的ResultType
- Java的迭代器—— Iterator
- php time相差12小时_PHP获取时间比实际时间少8小时的问题
- 带有示例的Python File readlines()方法
- spark的ContextCleaner清理
- UI设计素材|卡券界面设计
- 将网址url中的参数转化为JSON格式的两种方法
- MySQL5.6基于GTID同步复制,与如何实现MySQL负载均衡、读写分离。
- CDN:内容分发网络
- MySQL 删除数据库中所有表、所有存储过程命令
- 设计模式之四 代理模式
- 写一个AndroidStudio有道翻译插件给大家
- 8月第4周基金排行榜 | TokenInsight
- ubuntu上强制关闭程序
- AngularJS动态加载Controller
- jsp中给div加背景_html中给元素添加背景图片或者gif动图
- compareAndSet
- 提示the windows installer service could not be accessed