一个HDF5文件是一种存放两类对象的容器:dataset和group. Dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group。在使用h5py的时候需要牢记一句话:groups类比词典,dataset类比Numpy中的数组。
HDF5的dataset虽然与Numpy的数组在接口上很相近,但是支持更多对外透明的存储特征,如数据压缩,误差检测,分块传输。
深度学习中也常用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() #可以查看所有的主键 a = f[‘data‘][:] #取出主键为data的所有的键值 f.close()