时间:2021-06-30 python教程 查看: 926
对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法
命令 pip install vitables
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博客。