[Caffe]: HDF5Data Layer
Tensorflow、Pytorch和Caffe2的相继问世后,Caffe的热度和优势已逐渐消失。
最近,为了跑对比的实验,用到了HDF5Data层。
遇到一些问题,写篇博客记录以下。
HDF5Data Layer
// Message that stores parameters used by HDF5DataLayer
message HDF5DataParameter {// Specify the data source.optional string source = 1;// Specify the batch size.optional uint32 batch_size = 2;// Specify whether to shuffle the data.// If shuffle == true, the ordering of the HDF5 files is shuffled,// and the ordering of data within any given HDF5 file is shuffled,// but data between different files are not interleaved; all of a file's// data are output (in a random order) before moving onto another file.optional bool shuffle = 3 [default = false];
}
HDF5Data层是Caffe提供的能够灵活控制输入数据的接口,上图是它的参数定义。如上图,HDF5Data层只有3种参数,一个指定路径的list、一个指定每个批次的训练数量和是否打乱训练数据顺序。
HDF5文件生成
使用该层需要将数据存成hdf5格式,这通过python能够很容易的实现。
推荐用h5py库,仅需三行就能将numpy存进一个hdf5文件里。
import h5py
import numpy as npdata = np.random.randn(128,1)
with h5py.File('test.h5', 'w') as fh:fh.create_dataset('data', data=data)
使用HDF5Data层
layer{name:"data"type:"HDF5Data"top:"data"top:"label"include{phase:TRAIN}hdf5_data_param{source:"train.txt" #train.txt保存h5文件的路径,可包含多个路径,每行一个batch_size: 256shuffle: true #是否打乱同一个文件内的数据顺序}
}
如图所示,HDF5Data层不支持减均值、随机剪切等数据操作,所以要在创建HDF5文件时完成。
综上,HDF5Data层还是蛮好用的。
2018.03.16 记
[Caffe]: HDF5Data Layer相关推荐
- 梳理caffe代码layer(五)
Layer(层)是Caffe中最庞大最繁杂的模块.由于Caffe强调模块化设计,因此只允许每个layer完成一类特定的计算,例如convolution操作.pooling.非线性变换.内积运算,以及数 ...
- Caffe中Layer注册机制
Caffe内部维护一个注册表用于查找特定Layer对应的工厂函数(Layer Factory的设计用到了设计模式里的工厂模式).Caffe的Layer注册表是一组键值对(key, value)( La ...
- caffe HDF5Data 层使用及数据生成
有些时候,我们的输入不是标准的图像,而是其它一些格式,比如:频谱图.特征向量等等,这种情况下LMDB.Leveldb以及ImageData layer等就不好使了,这时候我们就需要一个新的输入接口-- ...
- caffe 的layer的参数说明
最近在学习caffe做实验 今天就记录一下layer的参数及这些常用的参数的解释吧 主要还是参考官方网站 http://caffe.berkeleyvision.org/tutorial/layers ...
- caffe python layer
本文链接:http://blog.csdn.net/thesby/article/details/51264439 caffe的大多数层是由c++写成的,借助于c++的高效性,网络可以快速训练.但是我 ...
- 【caffe】Layer解读之:Flatten
Layer type: Flatten 头文件位置:./include/caffe/layers/flatten_layer.hpp CPU 执行源文件位置: ./src/caffe/layers/f ...
- caffe中layer的一些特殊操作,比如split
slice:在某一个维度,按照给定的下标,blob拆分成几块.比如要拆分channel,总数50,下标为10,20,30,40,那就是分成5份,每份10个channel,输出5个layer. conc ...
- python做caffe debug layer错误可能原因 CallObjectWithKeywords train.sh: line 60: 9024 Segmentation fault
之前做过的尝试. 查看protoc的版本:protoc --version 然后pip安装和上述一致的版本.没有解决,然后下面暂时解决了.类似于 pip install --user --upgrad ...
- caffe slice layer 学习
Slice layer 的作用是将bottom按照需要分解成多个tops.(与split layer的不一样在于spliit的作用是将bottom复制多份,输出到tops) 首先我们先看一下slice ...
最新文章
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
- MVC模式和文档/视图结构
- 网上有打印按键怎么设置下载_打印机共享怎么设置 如何设置打印机共享【详细攻略】...
- 计算机wps基础知识试题,计算机一级WPS考试试题及答案
- 前端学习(3118):react-hello-react的解决类中方法的this
- 【重难点】【JUC 04】synchronized 原理、ReentrantLock 原理、synchronized 和 Lock 的对比、CAS 无锁原理
- BBS(仿博客园系统)项目01(项目分析、表结构设计、注册功能实现)
- 谷粒商城:01. 分布式基础项目环境搭建
- Java 入门之6:Java中的char类型是怎么存储的以及常见的编码字符集
- 《循序渐进Oracle:数据库管理、优化与备份恢复》一一1.5 案例与实践分析 ...
- 2022-爬虫-Selenium-百度安全验证
- pic57 c语言编程,PIC16C57C初始化头文件
- 人生低谷一日感悟+收获
- mysql mmm write vip_MySQLHAbyusingMysql-mmm
- 傻白入门芯片设计,先进封装技术(五)
- apache dophinscheduler 3.1.0 编译
- 高中计算机学业水平测试题目,2016年高中学业水平考试信息技术学科模拟题一(带答案)...
- vlc在Ubuntu下的自动安装和手动安装
- 【zz】P2P技术简介—by红瞳
- feign.RetryableException: Read timed out executing GET http://*****