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相关推荐

  1. 梳理caffe代码layer(五)

    Layer(层)是Caffe中最庞大最繁杂的模块.由于Caffe强调模块化设计,因此只允许每个layer完成一类特定的计算,例如convolution操作.pooling.非线性变换.内积运算,以及数 ...

  2. Caffe中Layer注册机制

    Caffe内部维护一个注册表用于查找特定Layer对应的工厂函数(Layer Factory的设计用到了设计模式里的工厂模式).Caffe的Layer注册表是一组键值对(key, value)( La ...

  3. caffe HDF5Data 层使用及数据生成

    有些时候,我们的输入不是标准的图像,而是其它一些格式,比如:频谱图.特征向量等等,这种情况下LMDB.Leveldb以及ImageData layer等就不好使了,这时候我们就需要一个新的输入接口-- ...

  4. caffe 的layer的参数说明

    最近在学习caffe做实验 今天就记录一下layer的参数及这些常用的参数的解释吧 主要还是参考官方网站 http://caffe.berkeleyvision.org/tutorial/layers ...

  5. caffe python layer

    本文链接:http://blog.csdn.net/thesby/article/details/51264439 caffe的大多数层是由c++写成的,借助于c++的高效性,网络可以快速训练.但是我 ...

  6. 【caffe】Layer解读之:Flatten

    Layer type: Flatten 头文件位置:./include/caffe/layers/flatten_layer.hpp CPU 执行源文件位置: ./src/caffe/layers/f ...

  7. caffe中layer的一些特殊操作,比如split

    slice:在某一个维度,按照给定的下标,blob拆分成几块.比如要拆分channel,总数50,下标为10,20,30,40,那就是分成5份,每份10个channel,输出5个layer. conc ...

  8. python做caffe debug layer错误可能原因 CallObjectWithKeywords train.sh: line 60: 9024 Segmentation fault

    之前做过的尝试. 查看protoc的版本:protoc --version 然后pip安装和上述一致的版本.没有解决,然后下面暂时解决了.类似于 pip install --user --upgrad ...

  9. caffe slice layer 学习

    Slice layer 的作用是将bottom按照需要分解成多个tops.(与split layer的不一样在于spliit的作用是将bottom复制多份,输出到tops) 首先我们先看一下slice ...

最新文章

  1. jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
  2. MVC模式和文档/视图结构
  3. 网上有打印按键怎么设置下载_打印机共享怎么设置 如何设置打印机共享【详细攻略】...
  4. 计算机wps基础知识试题,计算机一级WPS考试试题及答案
  5. 前端学习(3118):react-hello-react的解决类中方法的this
  6. 【重难点】【JUC 04】synchronized 原理、ReentrantLock 原理、synchronized 和 Lock 的对比、CAS 无锁原理
  7. BBS(仿博客园系统)项目01(项目分析、表结构设计、注册功能实现)
  8. 谷粒商城:01. 分布式基础项目环境搭建
  9. Java 入门之6:Java中的char类型是怎么存储的以及常见的编码字符集
  10. 《循序渐进Oracle:数据库管理、优化与备份恢复》一一1.5 案例与实践分析 ...
  11. 2022-爬虫-Selenium-百度安全验证
  12. pic57 c语言编程,PIC16C57C初始化头文件
  13. 人生低谷一日感悟+收获
  14. mysql mmm write vip_MySQLHAbyusingMysql-mmm
  15. 傻白入门芯片设计,先进封装技术(五)
  16. apache dophinscheduler 3.1.0 编译
  17. 高中计算机学业水平测试题目,2016年高中学业水平考试信息技术学科模拟题一(带答案)...
  18. vlc在Ubuntu下的自动安装和手动安装
  19. 【zz】P2P技术简介—by红瞳
  20. feign.RetryableException: Read timed out executing GET http://*****

热门文章

  1. 人像分割之ExtremeC3Net
  2. VBA 为什么你redim() 动态二维数组总出错?因为 redim 动态数组不太适合和循环搭配
  3. 世界上什么人最重要?什么事最重要?什么时间最重要?
  4. 行测-言语理解选词填空必备词语汇总
  5. 超详细: Type-C接口Macbook笔记本无法充电(时连时断)的傻瓜处理流程
  6. [ Linux ] PCF8563数据手册解析 |CSDN创作打卡
  7. formality软件使用教程
  8. 小麦苗的微信公众号开通啦,欢迎大家扫码关注
  9. Python基础第一周
  10. 【Modbus 】Modbus 协议