iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Matlab操作HDF5文件示例
  • 816
分享到

Matlab操作HDF5文件示例

2024-04-02 19:04:59 816人浏览 泡泡鱼
摘要

目录HDF5文件使用Matlab操作HDF5文件使用Matlab创建HDF5文件使用Matlab写入HDF5使用Matlab查看HDF5文件信息使用Matlab读取HDF5中的数据集

HDF5文件

在使用Matlab对数据进行预处理时,遇到了内存不足的问题,因为数据量太大,在处理完成以前内存已经爆满。如果使用Matlab的.m文件对文件进行存储的话,则需要将数据分割成多个文件,对后续的处理造成了不便。HDF5文件则是一种灵活的文件存储格式,有一个最大的好处就是在Matlab的处理过程中可以对它进行扩展写入,也就是说不是所有数据处理完以后一次写入,而是边处理边写入,极大的降低了对系统内存的要求。

HDF5文件类似与一个文件系统,使用这个文件本身就可以对数据集(dataset)进行管理。例如下图所示,HDF5文件中的数据集皆存储根目录/,在根目录下存在多个group,这样一些group类似与文件系统的文件夹,在它们可以存储别的group,也可以存储数据集。

对于每一个dataset 而言,除了数据本身之外,这个数据集还会有很多的属性 attribute,。在hdf5中,还同时支持存储数据集对应的属性信息,所有的属性信息的集合就叫做metadata;

使用Matlab操作HDF5文件

使用Matlab创建HDF5文件

使用Matlab创建HDF5文件的函数是h5create,使用如下:

h5create(filename,datasetname,[30, 30 , 3, inf],'Datatype','single','ChunkSize',[30,30,3,1000])

filenameh5文件的文件名(不知道什么问题,在我的电脑上使用时,这个函数无法指定路径)。

datasetname则为数据集的名字,数据集名称必须以/开头,比如/G

[30,30,3,inf]位数据集的大小,比如我的数据集为30x30大小的彩色图像,并且我希望数量能够扩展,那么就可以指定最后以为度为inf,以表示数量不限。

Datatype为数据类型

ChunkSize为数据存储的最小分块,为了让数据能够具有扩展性,所以为新来的数据分配一定的空间大小,对于一个非常大的数据,这个值设置大一点比较好,这样分块就会少一点。比如我的数据集中,30x30大小的彩色图像大概有10万个左右,那么1000个存储在一起较为合适,则chunksize设置为:[30,30,3,1000]。

使用Matlab写入HDF5

在创建了hdf5文件和数据集以后,则可以对数据集进行写操作以扩展里面的数据。使用Matlab写入HDF5文件的函数是h5write,使用如下:

h5write(fileName,datasetName,data,start,count);

fileName: hdf5文件名

datasetName:数据集名称,比如/Gdata:需要写入的数据,数据的维度应该与创建时一致,比如,设置的数据集大小为[30,30,3,inf],那么这里的data的前三个维度就应该是[30, 30, 3],而最后一个维度则是自由的

start:数据存储的起点,如果是第一次存,则应该为[1, 1, 1, 1](注意数据维度的一致性),如果这次存了10000个样本,也就是[30,30,3,10000],那么第二次存储的时候起点就应该为[1,1,1,10001]

count存储数据的个数,同样要根据维度来(其实就是数据的维度),这里为[30,30,3,10000]

使用Matlab查看HDF5文件信息

Matlab中可以使用h5info函数来读取HDF5文件的信息:

fileInfo = h5info(fileName);

然后通过解析fileInfo结构,则可以得到HDF5文件中的数据集名称、数据集大小等等必要信息。

使用Matlab读取HDF5中的数据集

Matlab中可以使用h5read函数来读取HDF5文件:

data = h5read(filename,datasetname,start,count)

filename:HDF5文件文件名

datasetname:数据集名称

start:从数据集中取数据的其实位置

count:取的数据数量

还是以上面的30x30的彩色图像为例,如果每次需要取1000个,那么第一次取时,start应该设置为[1, 1, 1, 1] ,count设置为:[30, 30 ,3 1000]。第二次取值时,start则应该设置为[1, 1, 1, 1001],count则设置为:[30, 30, 3, 1000]。

以上就是Matlab操作HDF5文件示例的详细内容,更多关于Matlab操作HDF5文件的资料请关注编程网其它相关文章!

--结束END--

本文标题: Matlab操作HDF5文件示例

本文链接: https://www.lsjlt.com/news/152861.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Matlab操作HDF5文件示例
    目录HDF5文件使用Matlab操作HDF5文件使用Matlab创建HDF5文件使用Matlab写入HDF5使用Matlab查看HDF5文件信息使用Matlab读取HDF5中的数据集...
    99+
    2022-11-13
  • Python操作HDF5文件示例
    目录引言创建文件和数据集写数据集读数据集引言 在Matlab操作HDF5文件中已经详细介绍了HDF5文件已经利用Matlab对其进行操作的方法。这篇文章总结一下如何在Python下使...
    99+
    2022-11-11
  • 怎么使用Matlab操作HDF5文件
    这篇文章主要介绍“怎么使用Matlab操作HDF5文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Matlab操作HDF5文件”文章能帮助大家解决问题。HDF5文件在使用Matlab对数据...
    99+
    2023-07-02
  • python可视化hdf5文件的操作
    对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法 1 安装vitables工具包 命令 pip install vitables ...
    99+
    2022-06-02
    python 可视化 hdf5文件
  • 怎么使用Python操作HDF5文件
    这篇文章主要介绍“怎么使用Python操作HDF5文件”,在日常操作中,相信很多人在怎么使用Python操作HDF5文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python操作HDF5文件”的疑...
    99+
    2023-07-02
  • PHP文件的操作示例
    小编给大家分享一下PHP文件的操作示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!fopen() 函数用于在 PHP 中打开文件。 打开文件 fopen() 函...
    99+
    2023-06-15
  • Golang操作TSV文件的实战示例
    目录认识TSV文件Golang 读取TSV文件解析为结构体本文介绍TSV文件类型及其应用,同时介绍Golang语句读取TSV文件并转为struct的实现过程。 认识TSV文件 也许你...
    99+
    2023-03-22
    Golang 操作TSV文件 Golang 操作TSV
  • SQL Server文件操作的示例分析
    这篇文章主要为大家展示了“SQL Server文件操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SQL Server文件操作的示例分析”这篇文章吧...
    99+
    2022-10-18
  • Rust 中的文件操作示例详解
    目录文件路径文件创建和删除目录创建和删除文件创建和删除文件读取和写入文件打开文件读取文件写入相关资料文件路径 想要打开或者创建一个文件,首先要指定文件的路径。 Rust 中的路径操作...
    99+
    2022-11-12
  • Scala文件操作示例代码讲解
    目录1. 读取数据1.1 按行读取1.2 按字符读取Scala使用source.buffered方法按字符读取文件一个示例1.3 读取词法单元和数字1.4 从URL或者其他源读取数据...
    99+
    2023-05-14
    Scala文件操作 Scala写入文件
  • node.js文件操作系统的示例分析
    这篇文章给大家分享的是有关node.js文件操作系统的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:文件读取普通读取同步读取var fs =...
    99+
    2022-10-19
  • Nodejs文件操作和stream的示例分析
    小编给大家分享一下Nodejs文件操作和stream的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!NodeJS文件操作...
    99+
    2022-10-19
  • Python常见文件操作的示例详解
    目录从文件中读取数据为什么要提供文件路径逐行读取创建一个包含文件各行内容的列表使用文件中的内容包含千位以上的大型文件圆周率中包含你的生日吗写入文件附加到文件从文件中读取数据 1:读取...
    99+
    2022-11-11
  • Android API编程之Assets文件操作示例
    本文实例讲述了Android API Assets文件操作。分享给大家供大家参考,具体如下:public class ReadAssetActivity extends Activity { private TextView mTextV...
    99+
    2023-05-30
    android assets 文件操作
  • C#操作文本文件应用的示例分析
    本篇文章给大家分享的是有关C#操作文本文件应用的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#操作文本文件应用实例:using System; ...
    99+
    2023-06-18
  • Node.js之操作文件系统的示例分析
    这篇文章给大家分享的是有关Node.js之操作文件系统的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 同步方法与异步方法在Node.js中,使用fs模块来实现所有有...
    99+
    2022-10-19
  • python 文件读写操作示例源码解读
    目录文件写操作的案例代码解释在Python中,可以使用以下三种方法来读取文件文件写操作的案例 # 打开文件(只写模式) file = open('example.txt', 'w'...
    99+
    2023-03-24
    python 文件读写操作解读 python 文件读写源码解读
  • Python文件的操作示例的详细讲解
    目录1. 文件的读写原理:2. 常用的文件打开模式3. 文件对象的常用方法4. 目录的相关操作1. 文件的读写原理: 文件的读写称为I/O操作。 操作原理: .py文件是用解释器...
    99+
    2022-11-12
  • node.js中fs文件系统目录操作与文件信息操作的示例分析
    这篇文章主要介绍node.js中fs文件系统目录操作与文件信息操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!目录操作如果存在该目录,就创建失败同步创建目录fs.mkdi...
    99+
    2022-10-19
  • python文件操作举例
    1.把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中import codecsdef paixu(l):    for i in xrange(0,len(l)-1):     ...
    99+
    2023-01-31
    操作 文件 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作