前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >.h5文件的读取_python读写h5文件

.h5文件的读取_python读写h5文件

作者头像
全栈程序员站长
发布于 2022-09-30 03:41:05
发布于 2022-09-30 03:41:05
2.8K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

**

关于hdf5文件

**

HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件。详见其官方介绍https://support.hdfgroup.org/HDF5/

Python 中有一系列的工具可以操作和使用 HDF5 数据,这里只介绍 h5py。 一个 HDF5 文件是存储两类对象的容器,这两类对象分别为: dataset:类似数组的数据集合; gropp;类似目录的容器,其中可以包含一个或多个 dataset 及其它的 group。 参考链接:https://www.jianshu.com/p/de9f33cdfba0

h5文件的读取

这里以我要用的模型的h5文件为例,是AudioSet数据集的一部分,论文的作者是将tfrecord格式写成了hdf5格式,因此想要读取这样格式的文件来看看里面的内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# python 2
#coding=utf-8
import datetime
import os
import h5py
import numpy as np

# f = h5py.File('path/filename.h5','r') #打开h5文件
f = h5py.File('E:/2018/AudioSet/bal_train.h5','r')
f.keys() #可以查看所有的主键
print([key for key in f.keys()])

运行程序后,结果有:

可以看到主键有3部分,分别为: video_id_list, x, y

因此可以继续查看主键里面的内容,这部分直接用print语句就能实现,接在主键程序之后,这里简单举例说明一下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print('first, we get values of x:', f['x'][:])
print('then, we get values of y:', f['y'][:])
print(f['x'][:].shape)
print(f['y'][:].shape)

运行这一部分的代码,结果有:

可以看到,通过print语句,得到了三个主键里面内容的大小,就我的h5文件,里面的video_id_list是一个存放了歌曲id的列表文件, x是输入的歌曲的特征文件22160是样本数目,(10,128)代表了样本是一个10×128的矩阵, y是一个标签文件,(22160,527)代表大小是22160×527,其中527是类别的数目。

可以利用io.save()函数来保存主键中的内容,。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import io
io.savemat('x.mat', { 
   'data': f['x'][:]})
io.savemat('y.mat', { 
   'data': f['y'][:]})
io.savemat('video_id_list.mat', { 
   'data': f['video_id_list'][:]})

最后,给出完整的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# python 2
#coding=utf-8
from scipy import io
import os
import h5py
import numpy as np
#打开h5文件
f = h5py.File('path/filename.h5','r') 
#查看文件
f.keys() #可以查看所有的主键
print([key for key in f.keys()])
print('first, we get values of x:', f['x'][:])
print('then, we get values of y:', f['y'][:])
print(f['x'][:].shape)
print(f['y'][:].shape)
#保存数据
io.savemat('x.mat', { 
'data': f['x'][:]})
io.savemat('y.mat', { 
'data': f['y'][:]})
io.savemat('video_id_list.mat', { 
'data': f['video_id_list'][:]})

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月9日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Caffe - 创建LMDB/HDF5格式数据
LMDB格式的优点: - 基于文件映射IO(memory-mapped),数据速率更好 - 对大规模数据集更有效.
AIHGF
2019/02/18
1.6K0
【Kaggle竞赛】h5py库快速入门
Groups就像字典(dictionaries)一样工作,而datasets像Numpy数组(arrays)一样工作!
嵌入式视觉
2022/09/05
1.1K0
【Kaggle竞赛】h5py库快速入门
[1233]Python数据存储之h5py详解
h5py官方文档:https://docs.h5py.org/en/stable/build.html
周小董
2023/10/17
1.6K0
[1233]Python数据存储之h5py详解
H5文件简介和使用
H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件。接触到这个文件格式也是因为上Coursera深度学习课程的时候,作业用到了。它是由美国超级计算与应用中心研发的文件格式,用以存储和组织大规模数据。目前由非营利组织HDF小组提供支持。
全栈程序员站长
2022/09/30
2.4K0
Python深耕之图像深度学习必备工具包
因为研究方向的变动将本号更名为《R语言交流中心与Python深耕之路》,从R语言扩展到Python编程。今天给大家介绍下一个完整的深度学习模型的构建所需要的必备python模块。
一粒沙
2022/11/21
6470
Python深耕之图像深度学习必备工具包
使用Python实现高性能数据存储
在数据驱动的时代,处理和存储海量数据已成为关键需求。高性能数据存储不仅能够确保数据的快速读写,还能提升系统的整体性能。Python作为一种灵活且功能强大的编程语言,提供了多种高效的数据存储解决方案。本文将详细介绍如何使用Python实现高性能数据存储,并通过具体代码示例展示其实现过程。
Echo_Wish
2024/12/13
1340
python打开h5文件可视化_python环境变量的配置
该文件可以在this link中找到,名为“vstoxx_data_31032014.h5”。我试图运行的代码来自Yves Hilpisch的《Python for Finance》一书,内容如下:import pandas as pd
全栈程序员站长
2022/10/01
1.4K0
利用Python Numpy高效管理HDF5文件数据
在大数据处理和科学计算中,HDF5(Hierarchical Data Format version 5)文件格式因其高效的数据存储和处理能力被广泛应用。HDF5支持层次化结构,能够在单个文件中存储和管理大规模的多维数据集。Python中的Numpy库虽然以数值计算著称,但借助于外部库如h5py,可以轻松实现HDF5文件的读写操作。本文将详细介绍如何使用Numpy结合h5py库读写HDF5文件,适合需要处理大规模数据集的用户。
sergiojune
2024/09/24
3020
利用Python Numpy高效管理HDF5文件数据
h5py快速入门指南
一个HDF5文件就是一个容器,用于储存两类对象:datasets,类似于数组的数据集合;groups,类似于文件夹的容器,可以储存datasets和其它groups。当使用h5py时,最基本的准则为:
全栈程序员站长
2022/07/21
1.3K0
h5 Python_python做h5网站
  HDF(Hierarchical Data Format层次数据格式)是一种设计用于存储和组织大量数据的文件格式,最开始由美国国家超算中心研发,后来由一个非盈利组织HDF Group支持。HDF支持多种商业及非商业的软件平台,包括MATLAB、Java、Python、R和Julia等等,现在也提供了Spark。其版本包括了HDF4和现在大量用的HDF5。h5是HDF5文件格式的后缀。h5文件对于存储大量数据而言拥有极大的优势,这里安利大家多使用h5文件来存储数据,既高逼格又高效率。
全栈程序员站长
2022/09/30
1.3K0
h5 Python_python做h5网站
python库——h5py读取h5文件「建议收藏」
h5py读取h5文件 h5文件像文件夹一样,可以在组里新建子组,最后子组里新建dataset 现在我们来读取h5文件中的各级组名称和dataset
全栈程序员站长
2022/09/30
3.1K0
【Kaggle竞赛】h5py库学习
(1)numpy.save , numpy.savez , scipy.io.savemat
嵌入式视觉
2022/09/05
8720
GPM卫星数据hdf5格式读取与绘图
你刚开始拿到数据多半不知怎么看结构,一定很疑惑f['Swath/latentHeating'][:]怎么来的 hdf5数据逻辑和nc不太一样, 且看我下面如何操作
用户11172986
2024/06/20
3890
GPM卫星数据hdf5格式读取与绘图
matlab读.h5文件「建议收藏」
之前用 python 给 nuswide 提取了 VGG19 特征,因为文件太大,超过 .mat 限制,存成 .h5,见 [1]。现在一个 matlab 程序要读,可以用 h5disp 查看 .h5 文件内容的结构(各个 datasets),然后用 h5read 读。
全栈程序员站长
2022/10/02
1.8K0
Python的h5py模块
一个HDF5文件是一种存放两类对象的容器:dataset和group. Dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group。在使用h5py的时候需要牢记一句话:groups类比词典,dataset类比Numpy中的数组。 HDF5的dataset虽然与Numpy的数组在接口上很相近,但是支持更多对外透明的存储特征,如数据压缩,误差检测,分块传输。
狼啸风云
2020/02/11
3.2K0
python开发h5页面_大数据和python有关吗
一般来说,深度学习的训练数据和训练后的参数都会保存为h5格式文件,对于训练数据来说,深度学习中当训练大量数据时,如果从硬盘中加载再预处理,再传递进网络,这是一个非常耗时的过程。其中从硬盘中读取图片会花费大量时间,更可行在方法是将其存在单个文件中,如h5文件。
全栈程序员站长
2022/10/03
8980
python开发h5页面_大数据和python有关吗
h5文件简介_h5特性
H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据.
全栈程序员站长
2022/09/30
3.7K0
h5文件简介_h5特性
Python - 读写 Matlab Mat 格式数据
如果 matlab 保存 data 时,采用的是 ‘-v7.3’,scipy.io.loadmat函数加载数据会出现错误:
AIHGF
2019/02/18
4.8K0
生成h5文件_h5实现文件下载
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
8590
【说站】python如何查看hdf5文件
以上就是python查看hdf5文件的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
1.8K0
【说站】python如何查看hdf5文件
相关推荐
Caffe - 创建LMDB/HDF5格式数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文