一個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()