HDF5文件是一种特殊的用来存储和组织大量数据的一组文件格式,在大量科学数据的存储和操作中具有极其优异的特性。但是作为数据格式存储的时候是不易阅读和操作的,接下来这篇文章我们来介绍一下python可视化操作hdf5的方法以及hdf5报错如何解决吧。
什么是HDF5文件呢?
对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法
1 安装vitables工具包
命令 pip install vitables
2 安装完成后在终端中使用命令
vitables 文件名.hdf5
最终实现hdf5文件的可视化,方便直观就像一层层打开文件夹一样
python对于HDF5的操作
import h5py #导入工具包
import numpy as np
#HDF5的写入:
imgData = np.zeros((30,3,128,256))
f = h5py.File('HDF5_FILE.h5','w') #创建一个h5文件,文件指针是f
f['data'] = imgData #将数据写入文件的主键data下面
f['labels'] = range(100) #将数据写入文件的主键labels下面
f.close() #关闭文件
#HDF5的读取:
f = h5py.File('HDF5_FILE.h5','r') #打开h5文件
f.keys() #可以查看所有的主键 :在这里是:【data】,[label]
a = f['data'][:] #取出主键为data的所有的键值
f.close()
关于python环境中hdf5报错问题的几种解决办法(亲测)
一、报错内容如下:
Warning! HDF5 library version mismatched error
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as ‘LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable ‘HDF5_DISABLE_VERSION_CHECK' to a value of ‘1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.10.4, library is 1.10.5
二、几种解决办法
首先,这个问题是有可能是hdf5库不匹配的问题,也有可能是一个类似warning的东西,下面我会详细的说一下。
第一种解决办法:
卸载hdf5,然后重新安装。
终端执行的代码如下:
conda uninstall hdf5 conda install hdf5
网上有好多朋友用这个方法有用, 本人亲测:方法对我无用。
第二种解决办法:
检查一下设置的路径:LD_LIBRARY_PATH
本人亲测:由于我使用的系统是win10,但是LD_LIBRARY_PATH这个路径我找了 好半天也找不到,后来搜索一下发现时Linux的,所以这个方法我没有使用。
第三种解决办法:
将HDF5_DISABLE_VERSION_CHECK设置为更高等级,忽略警告。
在import tensorflow之前,在代码中添加如下代码:
import os;
os.environ[‘HDF5_DISABLE_VERSION_CHECK'] = ‘2'
本人亲测:此方法着实有用!
以上就是python可视化操作hdf5的方法以及hdf5报错如何解决的全部内容,希望能给大家一个参考,也希望大家多多支持W3Cschool。