H5文件简介和使用

H5文件简介和使用H5文件是层次数据格式第5代的版本(HierarchicalDataFormat,HDF5),它是用于存储科学数据的一种文件格式和库文件。接触到这个文件格式也是因为上Coursera深度学习课程的时候,作业用到了。它是由美国超级计算与应用中心研发的文件格式,用以存储和组织大规模数据。目前由非营利组织HDF小组提供支持。目前,很多商业和非商业组织都支持这种文件格式,如Java,MATLAB,P…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件。接触到这个文件格式也是因为上Coursera深度学习课程的时候,作业用到了。它是由美国超级计算与应用中心研发的文件格式,用以存储和组织大规模数据。目前由非营利组织HDF小组提供支持。

目前,很多商业和非商业组织都支持这种文件格式,如Java,MATLAB,Python,R等。

官网网站:https://www.hdfgroup.org/

H5文件在内存占用、压缩、访问速度方面都有非常优秀的特性,在工业领域和科学领域都有很多运用。

H5将文件结构简化成两个主要的对象类型:
1、数据集,就是同一类型数据的多维数组。
2、组,是一种容器结构,可以包含数据集和其他组。

这导致了H5文件是一种真正的层次结构、文件系统式的数据类型。实际上,HDF5文件内部的资源是通过类似POSIX的语法进行访问的(/path/to/resource)。元数据是由用户定义的,以命名属性的形式附加到组和数据集中。更复杂的存储形式如图像和表格可以使用数据集、组和属性来构建。

除了文件格式的先进性,HDF5还包括了一个提升的类型系统,和数据空间对象,用以表示数据区域的选择。API也是关于数据集、组、属性、类型等的面向对象的形式。

由于使用B-tree来索引表格对象,H5非常适合时间序列的数据,如股票价格序列、网络监测序列数据和3D气象数据(中国国家卫星气象中心发布了一个文件HDF5.0使用简介应该也是用了这个数据格式)。

H5本身用C程序提供库函数来提供外部访问的接口。在Python中,主要使用h5py模块来操作相关格式。其读取的函数如下:

def load_data():
    train_dataset = h5py.File('datasets/train_catvnoncat.h5', "r")
    train_set_x_orig = np.array(train_dataset["train_set_x"][:]) # your train set features
    train_set_y_orig = np.array(train_dataset["train_set_y"][:]) # your train set labels

    test_dataset = h5py.File('datasets/test_catvnoncat.h5', "r")
    test_set_x_orig = np.array(test_dataset["test_set_x"][:]) # your test set features
    test_set_y_orig = np.array(test_dataset["test_set_y"][:]) # your test set labels

    classes = np.array(test_dataset["list_classes"][:]) # the list of classes
    
    train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
    test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))
    
    return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes

train_dataset, train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes = load_dataset()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195605.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • NoSQL数据库介绍

    NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N

    2021年12月26日
  • linux云服务器上安装node[通俗易懂]

    linux云服务器上安装node[通俗易懂]云服务器上搭建nodejs前言第一步:下载wget第二步:下载nodejs功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入前言这篇是记录搭建nodejs过程的一篇文章,同时也希望能够帮到跟我一样对linux零基础的同学们。第一

  • IDEA设置java 编译级别

    IDEA设置java 编译级别IDEA设置java编译级别ProjectSettings中(1)Project (2)Modules 首选项中(3)Command+,    

  • avc中质量和大小是什么意思_avc设备是什么意思

    avc中质量和大小是什么意思_avc设备是什么意思avc在微观经济学意为:平均可变成本(averagevariablecost,avc)短期平均成本又可分为平均固定成本(averagefixedcost)和平均可变成本(averagevariablecost).电力行业的AVC系统是做什么的?AVC就是自动电压控制,就是大家常说的“无功优化”,实际上就是因为电压和无功是不可分割相互影响的。AVC和“无功优化”的实际意义有偏差,因为…

  • 云计算和虚拟化技术的关系_云计算技术与应用

    云计算和虚拟化技术的关系_云计算技术与应用#写于2021.04.10#本文为学习笔记,用的ppt是陈羽中教授版,侵删#笔记只为交流,入门小白,有错望留言纠正#总结不易望赞鼓励1.大数据和云计算1.1大数据现象是怎么形成的?形成人用的多了产生数据设备多了大数据时代导致数据有以下特点:1.2云计算有哪些特点?超大规模虚拟化高可靠性通用性高可伸缩性按需服务极其廉价1.3云计算你找服务类型可分为哪几类?1.4云计算技术体系结构可分为哪几层?资源池和管理中间件层为云计算技术的

    2022年10月27日
  • ext Window点击右上角的关闭(Xbutton)加入监控事件

    ext Window点击右上角的关闭(Xbutton)加入监控事件

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号