[Caffe]: HDF5Data Layer

基于caffe与MATLAB接口的回归分析与可视化 本文内容主要分为两部分,第一部分介绍基于caffe的回归分析,包括了数据准备、配置文件等;第二部分介绍了在MATLAB上进行的可视化。(话说本人最近有个课题需要做场景分类,有兴趣可以共同探讨一下)。 阅读详情

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 np

data = 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: 256
    shuffle: true       #是否打乱同一个文件内的数据顺序
    }
}

如图所示,HDF5Data层不支持减均值、随机剪切等数据操作,所以要在创建HDF5文件时完成。

综上,HDF5Data层还是蛮好用的。


                                                                2018.03.16 记
HDF5数据使用指南 本书介绍说明了hdf5数据对象和文件结构,HDF5程序模块、创建和修改数据对象的API功能,还介绍用于存取hdf5文件的一些有用工具 立即下载

相关推荐

交换芯片数据通路四大核心微架构深度解析

数据通路是交换芯片性能的物理根基,决定着低延迟、高吞吐与突发承载能力。其本质是在硅片约束下对带宽、时序、功耗与统计复用的系统性权衡。Crossbar提供确定性低延迟但受RC延迟与功耗制约;VOQ通过虚拟队列隔离输出争抢,却引入仲裁复杂度与内存开销;Shared Buffer依托统计复用提升缓存利用率,但面临碎片化与管理策略挑战;Cell Fabric以固定长度cell重构交换粒度,在AI与金融等小包敏感场景实现尾延迟稳定。这些架构并非替代关系,而是面向不同网络不确定性(如流量不对称性、突发强度、包长分布)的

weixin_32667955的博客 189

caffe HDF5Data 层使用及数据生成

有些时候,我们的输入不是标准的图像,而是其它一些格式,比如:频谱图、特征向量等等,这种情况下LMDB、Leveldb以及ImageData layer等就不好使了,这时候我们就需要一个新的输入接口——HDF5Data. (1) 在Matlab中生成HDF5文件这里直接以例子的形式说明如何生成:问题:输入data是512*1的矢量,共1000个样本,label是标量。代码如下:% 创建HDF5文件,包

shuzfan的专栏 1万+

基于TDOA的chan算法(定位算法)

Chan算法原理 TDOA(TDOA,the time differences of arrival,到达时间差),Chan算法是TDOA定位方法的一个很好用的方法。 Chan算法是非递归双曲线方程组解法,具有解析表达式解,主要特点是:在测量误差服从理想高斯分布时,它的定位精度高、计算量小,并且可以通过增加已确定点的数量来提高算法精度。 该算法的推导前提是基于测量误差为零均值高斯随机变量,对于实际环境中误差较大的测量值,比如在有非视距误差的环境下,该算法的性能会有显著下降。二维情况下,可分为只有三个点参与定

优快云不再更新 2万+

Caffe(学习1)--Data layer 详解

在开始Caffe的学习之前,希望你已经准备好了caffe环境,并且学习了Pytorch系列。CNN对我们来说不再是一个黑匣子,我们可以用自己的数据训练一个diy模型,但在实际生产中考虑到嵌入式应用和测试需要,通常将pth模型转成caffe.model进行集成,接下来我会通过Pytorch和Caffe的对比,来介绍Caffe的细节。 在Pytorch中我们可以定义一个自己的类...

起点的专刊 2582

SVPWM分析、各个扇区详细计算以及Matlab仿真

SVPWM分析以及各个扇区详细计算以及Matlab仿真说明目的两电平逆变器拓扑空间矢量扇区判断扇区内如何发波?矢量作用时间计算矢量切换时间的计算Simulink仿真/基于Matlab-R2014a版本 说明 第一次发文章,不太会用Markdown,word编辑的公式复制过来有些是乱码,因此都贴图了。 另外,本文公式和图片比较多,编辑工作量比较大,比较辛苦,转载的话,请注明出处,谢谢。 目的 由于在...

michaelf的博客 12万+

手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南)

本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。

weixin_30776273的博客 340

Caffe中HDF5Data例子

Caffe中HDF5Data例子

from_jiarenyf 1万+

NVIDIA NCCL 源码解析:从XML拓扑到高性能通信图的构建

本文深入解析了NVIDIA NCCL如何将XML硬件拓扑文件转化为高性能通信图的核心过程。详细阐述了从创建CPU、GPU、NIC等节点,到建立PCIe、NVLink连接,再到计算链路带宽并进行关键排序的完整建图流程。该图是NCCL实现最优通信路径规划、充分发挥NVLink等高速互联性能的基石,直接影响分布式深度学习训练的效率。

convnet3designer的博客 307

caffe代码阅读8: Data_layers的实现细节(各个数据读取层的实现细节) 2016.3.25-28

Caffe中Layer类是所有神经网络层的基类,BaseDataLayer继承自该类,BasePrefetchingDataLayer继承自BaseDataLayer,DataLayer继承自BasePrefetchingDataLayer。 有了上述几个基础的类之后,其他的类都是从这几个类进行派生。 比如DummyDataLayer,HDF5Layer和HDF5OutputLayer都是直接继承自Layer。 MemoryDataLayer则是继承自BaseDataLayer 凡是涉及到直接读取数据文

一亩半分地 1万+

SAP ERP 系统订单行项目中的计划行(Scheduled Line)详解

*计划行(Scheduled Line)**是SAP系统中订单行项目(如采购订单、生产订单、销售订单等)的细分单元,用于记录和管理物料的供应或需求计划。每个订单行项目可以包含一个或多个计划行,每个计划行对应具体的交货日期、数量、需求类型(如采购申请、生产订单、库存调拨等)以及相关的物流控制参数。简单来说,计划行是系统对某一物料在特定时间点的供需状态的详细规划,它将订单分解为更细粒度的执行步骤,确保供应链各环节(如采购、生产、仓储)能够按计划协同工作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3389

YOLOv12改进策略【Neck】| arXiv 2024 MAFPN:多分支辅助特征金字塔网络 | 通过双向辅助融合与异构卷积机制,解决传统PAFPN多尺度特征融合不充分与小目标检测不足问题

本文记录的是利用MAFPN颈部结构改进YOLOv12的目标检测网络模型。通过引入双向辅助融合机制优化特征处理流程,在自底向上路径利用 SAF 模块融合主干浅层特征与颈部输出,并保留浅层空间信息,为小目标检测提供更丰富细节;自顶向下路径通过 AAF 模块建立密集连接,聚合浅层高 / 低分辨率层、同级层及前层特征,均衡各层通道数后实现多向梯度信息交互,增强中 / 大目标特征表达。将其应用到中,解决传统特征金字塔在多尺度信息整合中的不足,提升多尺度目标检测的精度与特征表达的丰富性。Multi-Branch Aux

Limiiiing的博客 1254

src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: No such file or directory

编译caffe的时候遇见了这个问题:CXX src/caffe/layers/power_layer.cpp CXX src/caffe/layers/spp_layer.cpp CXX src/caffe/layers/hdf5_data_layer.cpp src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: No s...

Learning from the mistakes 3079

如何通过 Python 爬虫抓取并分析政府开放数据

通过本文的介绍,我们展示了如何使用Python 爬虫抓取并分析政府开放数据。通过requests获取政府开放数据的 API 接口数据。使用和pandas进行数据清洗与存储。使用matplotlib对数据进行可视化。你可以根据不同的政府开放平台和数据集进行调整,应用于不同领域的数据分析,如公共健康、交通、环保等。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1077

caffe-custom network input/image_data_layer/hdf5_data_layer

当需要输入定制自己的数据时候,e.g. multi-label, bbox. etc.   option 1. 修改 image_data_layer.cpp 文件 batch类有data_  label_ 两个成员变量,  把图片之外的数据输入到label中就行了 test.jpg 1 2 3 4 5 vector> > lines

ENJOY-NOW 833

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

caffe修改hdf5的datalayer

最近用caffe做回归,用到hdf5类型数据,由于要对数据做argument,所以自己继承了一个hdf5的类。 可以参考http://blog.youkuaiyun.com/kuaitoukid/article/details/41865803(这里是新建一个layer,我这里是继承一个) 1.自己新建一个类继承hdf5 class HDF5DataLDLayer : public HDF5Da...

weixin_34138139的博客 191

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【神经网络与深度学习】caffe静态链接库“Unknown layer type: Convolution (known types: )”和“ 磁盘空间不足”问题的解决办法...

这一段时间把caffe在windows环境下编译了一下,tool里面的cpp全部编译成了exe。再用的时候有两个问题让我头疼了好长时间! 第一个问题 “db_lmdb.hpp:14] Check failed: mdb_status == 0 (112 vs. ...

weixin_30568715的博客 87

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

caffe总结(十一)caffe regression 用于回归hdf5

caffe总结(十一) 最近用caffe做regression问题,先用data layer中的data,float_data试了一下,data用来存放图片,float_data存放regression的values,label存放标签,发现不行,因为float_data和label这俩是指向同一块内存,两者不能共存,除非改caffe源码。关于更改caffe源码进行回归参考博客https://blog.youkuaiyun.com/weixin_42535423/article/details/103810673 我又

weixin_42535423的博客 269

Caffe | 核心积木Layer层类详解

0.简介 Layer层类是Caffe中搭建网络的基本单元,当然也是使用Caffe训练的核心部件单元,因此我们将其称之为Caffe的核心积木。Layer基类派生出了各种不同功能的层类,Layer类派生出来的层类通过实现两个虚函数Forward()和Backward(),产生了各式各样功能的层类。Forward是从根据bottom计算top的过程进行前向计算,Backward则相反根据top计算bot...

yuanCruise 1712

caffe的prototxt文件

【参考】 data_layer 1、Data层 layer { name: "cifar" type: "Data" top: "data" top: "label" include { phase: TRAIN } transform_param { mean_file: "examples/cifar10/mean.binaryproto...

OneCoder的博客 2万+

matlab读写hdf5文件,hdf5格式的matlab读写操作

最近要用caffe处理一个multi-label的回归问题,就是输出是一个向量,不是一个具体的数值,这个时候之前的leveldb格式就不凑效了,因为caffe源代码里面默认label是一个数值,网上搜了下,都说hdf5格式可以解决这个问题在caffe里面,有一个hdf5的datalayer作为数据输入,从源代码来看,对于label的维数没做限制,剩下的问题就是如何生成hdf5的数据,目前只是找到了...

weixin_42372510的博客 1515

caffe学习笔记:caffe网络模型文件(.prototxt)layer与layers区别

编写caffe网络模型文件的时,有layer与layers两种方式,其不同之处主要在于网络类型type的定义方式不同,例如定义type为hdf5数据类型时,其定义方式如下。1. 使用layerlayer {  name: "data"  type: "HDF5Data"  top: "data"  top: "label"  hdf5_data_param {    source: "exampl...

Almost_Miao的博客 1569

Caffe源码解析4: Data_layer

data_layer应该是网络的最底层,主要是将数据送给blob进入到net中

zchang81的博客 538

hdf5 matlab,hdf5格式的matlab读写操作

最近要用caffe处理一个multi-label的回归问题,就是输出是一个向量,不是一个具体的数值,这个时候之前的leveldb格式就不凑效了,因为caffe源代码里面默认label是一个数值,网上搜了下,都说hdf5格式可以解决这个问题在caffe里面,有一个hdf5的datalayer作为数据输入,从源代码来看,对于label的维数没做限制,剩下的问题就是如何生成hdf5的数据,目前只是找到了...

weixin_42512798的博客 369

Caffe学习--Layer分析

Caffe_Layer 1.基本数据结构 //Layer层主要的的参数 LayerParamter layer_param_; // protobuf内的layer参数 vector<shared_ptr<Blob<Dtype>*>>blobs_;//存储layer的参数, vector<bool>para...

auu41657的博客 190
上一篇: [Caffe]:Check failed: out_num_ * inner_num_ == bottom[1]->count()
下一篇: [Pytorch]:自定义网络层
chamsu
博客等级 码龄14年 78粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值