在使用h5py的时候需要牢记一句话:groups类比词典,dataset类比Numpy中的数组。 读取和保存HDF5文件1) 读取HDF5文件的内容首先我们应该打开文件:>>> import h5py>>> f = h5py.File('mytestfile.hdf5', 'r')请记住h5py.File (100,)>>> dset.dtypedtype('int32')>>> dset[...] = np.arange(100)2) 创建一个HDF5文件我们用’w’模式打开文件>>> import h5py
h5py是Python语言用来操作HDF5的模块。 下面的文章主要介绍h5py的快速入门指南,翻译自h5py的官方文档:http://docs.h5py.org/en/latest/quick.html 。 该翻译仅为个人学习h5py为目的,如有翻译不当之处,请速联系笔者或提供正确的翻译,非常感谢! 安装 使用Anaconda或者Miniconda: conda install h5py 用Enthought Canopy,可以使用GUI安装包安装或用 enpkg h5py 安装。 当使用h5py时,最基本的准则为: groups类似于字典(dictionaries),dataset类似于Numpy中的数组(arrays)。
精美礼品等你拿!
Contents 1 一、Python数据存储(压缩) 2 二,h5py库学习 2.1 2.1,h5py库了解 2.2 2.2,文件对象(File Objects) 2.2.1 python文件类对象( (3)h5py h5py是对HDF5文件格式进行读写的python包,关于h5py更多介绍与安装,参考官方网站 。 二,h5py库学习 2.1,h5py库了解 h5py这个库是用于HDF5二进制数据格式的python接口,而HDF5是一种针对大量数据进行组织和存储的文件格式,它包含了数据模型,库和文件格式标准。 在python中处理HDF5文件依赖于h5py这个库,安装h5py包方法如下: conda install h5py # anconda3环境安装 pip install h5py # Python2 安装 pip3 install h5py # Python3安装 h5py文件是存放两类对象的容器,数据集(dataset)和组(group)。
Creating a file) 3 三,组和分层组织(Groups and hierarchical organization) 4 四,属性(Attributes) 5 五,参考资料 本文翻译自h5py 一,核心知识(Core concepts) h5py文件是存放两类对象的容器,数据集(dataset)和组(group)。 dataset类似数组的数据集合,和numpy的数组差不多。 使用h5py要记住的最基本的事情就是: Groups就像字典(dictionaries)一样工作,而datasets像Numpy数组(arrays)一样工作! 示例代码如下: import h5py f = h5py.File('mytestfile.hdf5','r') h5py文件对象(File object)的学习是我们开始的起点。 f.create_dataset(“mydataset”,(100,),dtype=’i’) File object其实也是一个上下文管理器,所以下面的代码能够正常工作: import numpy as np import h5py
h5py读取h5文件 h5文件像文件夹一样,可以在组里新建子组,最后子组里新建dataset 现在我们来读取h5文件中的各级组名称和dataset #打开文件 f = h5py.File('E:\PICGUI
h5py 按下回车,果然在系统自带的python下有以前的h5py版本 Uninstalling h5py: /usr/local/lib/python2.7/ /h5py/_conv.so /usr/local/lib/python2.7/dist-packages/h5py/_errors.so /usr/local/lib/ python2.7/dist-packages/h5py/_hl/__init__.py /usr/local/lib/python2.7/dist-packages/h5py/_hl/ /h5py/_hl/dataset.py /usr/local/lib/python2.7/dist-packages/h5py/_hl/dataset.pyc /usr /lib/python2.7/dist-packages/h5py/h5ac.so /usr/local/lib/python2.7/dist-packages/h5py/h5d.so
install --channel https://conda.anaconda.org/HCC tensorflow 试了很多镜像都不行,只有这个可以 安装完,import tensorflow报错 卸载h5py ,重装 conda uninstall h5py conda install h5py done 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149299.html
_objects.with_phil.wrapper File "h5py/_objects.pyx", line 55, in h5py. _objects.with_phil.wrapper File "/data/anaconda3/envs/video_czw/lib/python3.6/site-packages/h5py/_hl _lapl) File "h5py/_objects.pyx", line 54, in h5py. _objects.with_phil.wrapper File "h5py/_objects.pyx", line 55, in h5py. _objects.with_phil.wrapper File "h5py/h5o.pyx", line 190, in h5py.h5o.open KeyError: 'Unable to open
objects.with_phil.wrapper (C:\Minonda\conda-bld\h5py_1496885653697\work\h5py_objects.c:2825) File “h5py \h5f.pyx”, line 78, in h5py.h5f.open (C:\Minonda\conda-bld\h5py_1496885653697\work\h5py\h5f.c:2140) 一气之下,我卸载了h5py,然后重新安装h5py的最新版本,问题竟然神奇的解决了,哈哈哈哈!幸运!
环境下使用命令: import tensorflow 或者 import keras 时,报错: /home/×××/anaconda2/lib/python2.7/site-packages/h5py 经过了多个版本的搭配,发现问题的原因不是 tensorflow 和 keras 的版本不兼容,而是 /home/×××/anaconda2/lib/python2.7/site-packages/h5py 最终解决方法:在终端中使用命令: pip install h5py==2.8.0rc1 就可以正常使用了,不会再报数组唯独不匹配等问题了。 补充:h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。
Python中有不少库都可以用来处理HDF格式数据,比如h5py可以处理HDF5格式(pandas中 read_hdf 函数),pyhdf可以用来处理HDF4格式。 安装 首先安装相关库 conda install pyhdf conda install h5py 上述库均可以通过conda包管理器进行安装,如果conda包管理器无法安装,对于windows系统,可以查找是否存在已打包的安装包 以下基于h5py读取HDF5格式数据,以OMI卫星O3数据为例: import h5py data = h5py.File('TES-Aura_L3-O3-M2005m07_F01_10.he5') 某时刻某高度层全球O3浓度分布 数据和代码见文末Notebook链接,文末Notebook中除了上述基于pyhdf和h5py的示例外,还给出了基于gdal处理HDF4和HDF5格式数据的示例。
usage/ 介绍了hdf5的用法 简介 HDF(英语:Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件 读取keys无法显示 import h5py data.keys() 此时KeysV显示iew(<HDF5 file "your_file_name" (mode r+)>) 如果想要显示内部的数据集名称,需要使用list,即 linenos import h5py
72884852 第五种:python版本不匹配 原博客地址:https://blog.csdn.net/guizaijianchic/article/details/77876918 第六种:安装了h5py 这个包 在第五种解决方案的博客下面有这样一条评论 我一想,我好想也是刚才调皮安装了一个包,名字叫h5py 于是,毅然决然把它卸载了 然后,,问题解决了 有同学说h5py这个包是keras的依赖包不能卸载 ,下面评论里有解决方法,可以用anaconda把h5py包升级到2.9.0版本,感谢@weixin_43858333同学 第七种:取消对pyQt的兼容(新增) 参考该博客:https://blog.csdn.net
scipy OpenCV pip3 install opencv-python pillow pip3 install pillow Matplotlib pip3 install matplotlib h5py pip3 install h5py Keras 2.3.1 pip3 install keras==2.3.1 安装 请在命令行中运行如下命令来安装 ImageAI: pip3 install https
需要安装的环境: numpy scipy Pillow cython matplotlib scikit-image tensorflow>=1.3.0 keras>=2.0.8 opencv-python h5py 解决方法: Pip uninstall tensorflow Conda install tensorflow==1.13.2 5、File “h5py\h5.pyx”, line 1, in init AttributeError: module ‘h5py’ has no attribute ‘File’ 由于h5py库的更新,安装过程中会自动安装h5py=3.0.0以上的版本,会导致decode( 各位一定要在安装完tensorflow后利用命令装h5py=2.10.0! 版本, 于是我分别使用conda uninstall 和pip uninstall 卸载了h5py,并在安装目录中删掉了所有h5py包 最后再装了一次,解决了问题 7、报错信息:UserWarning:
2019/5/2 更新:HDF5DatasetWrite可以动态扩展储存大小 文件: HDF5DatasetGenerator.py # -*- coding: utf-8 -*- import h5py start_index = batch_num * self.batchSize end_index = min((batch_num + 1) * self.batchSize, self.numImages) # h5py epochs += 1 def close(self): self.db.close() 文件: HDF5DatasetWriter.py # -*- coding: utf-8 -*- import h5py [self.idx:i,:,:,:] = self.buffer["data"] self.masks[self.idx:i,:,:,:] = self.buffer["masks"] print("h5py
‘keras_version’].decode(‘utf8’) AttributeError: ‘str’ object has no attribute ‘decode’ 解决办法: 卸载原来的h5py 模块,安装2.10版本 pip install h5py==2.10 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 解决问题参考的文章: https://blog.csdn.net
(三)使用python对h5文件进行操作 python对h5文件的操作依赖于h5py包 通过举个栗子来介绍h5py包是如何读写h5文件的 读h5文件: # Reading h5 file import h5py with h5py.File('cat_dog.h5',"r") as f: for key in f.keys(): #print(f[key], key, f[key].name, f[ : if isinstance(f[k], Dataset): print(f[k].value) else: print(f[k].name) 写h5文件: # Writing h5 import h5py 5.30470941e-01 -1.49928878e-01] [ 5.24641964e-01 -1.55304472e+00 1.30016600e+00]] ... ''' 更多骚操作可以参考h5py 参考文献: [1] h5py官方文档 [2] HDF官网 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
Python 中有一系列的工具可以操作和使用 HDF5 数据,这里只介绍 h5py。 # python 2 #coding=utf-8 import datetime import os import h5py import numpy as np # f = h5py.File('path f['video_id_list'][:]}) 最后,给出完整的代码: # python 2 #coding=utf-8 from scipy import io import os import h5py
This might or might not be your case, but the same warning is also spit out from h5py package: /home /user/bin/conda3/lib/python3.6/site-packages/h5py/init.py:34: FutureWarning: Conversion of the second register_converters as _register_converters For anyone coming here with this problem, it is a known h5py warning, it’s not going to cause any issues at the moment, but you should upgrade to the next release of h5py
扫码关注腾讯云开发者
领取腾讯云代金券