探索HDF5檔案(一般字尾為 h5的檔案)

2021-09-03 02:43:30 字數 1096 閱讀 3320

最近看有關lua的**看別人用的資料集是.h5檔案,在keras裡我還以為是儲存的權重等變數,其實.h5(hdf5,hierarchical data format,5)是一種資料檔案格式,其第一層相當於python中的字典,比如開啟乙個h5檔案檢視檔案主鍵時分成兩個部分,一部分叫『data』,一部分叫『labels』,那麼這個h5檔案就相當於乙個字典,『data』部分存資料,『labels』部分存資料的標籤。

舉個例子,比如讀取cmu-pie.h5檔案(有關資料集的問題,常見的資料集都可以在github上找到)

假設資料集已在當前目錄,進入python:

import h5py

>>>file = h5py.file('cmu-pie.h5','r')

# 使用keys()方法檢視檔案的主鍵,相當於檢視h5檔案的字典結構:

>>>file.keys()

[u'data',u'labels'] # 這說明這個檔案中只包含兩個部分,一部分是『data』,一部分是『labels』

>>>

>>>data = file['data'] # 讀取資料

>>>data.shape

(2856,1,32,32) # 1表示通道,注意這裡是channel_first,但在有些框架裡可能預設的是channel_last

>>>labels = file['labels'] # 讀取標籤

>>>labels.shape

(2856,)

對於usps資料集的h5檔案: 先分為「train」和「test」兩個部分,然後又分別分為「data」和「target」兩個部分

import h5py

with h5py.file(path, 'r') as hf:

train = hf.get('train')

x_tr = train.get('data')[:]

y_tr = train.get('target')[:]

test = hf.get('test')

x_te = test.get('data')[:]

y_te = test.get('target')[:]

HDF5檔案讀寫

做實驗需要跑資料,caffe庫要求資料格式為hdf5.hdf5資料的import與export可以通過matlab簡單完成。hdfview可以簡單檢視hdf5資料。1.h5disp命令可以檢視hdf5資料格式 h5disp test.h5 hdf5 test.h5 group dataset dat...

HDF5檔案讀寫

做實驗需要跑資料,caffe庫要求資料格式為hdf5.hdf5資料的import與export可以通過matlab簡單完成。hdfview可以簡單檢視hdf5資料。1.h5disp命令可以檢視hdf5資料格式 1 h5disp test.h5 2hdf5 test.h5 3 group 4 data...

Python 讀取HDF5檔案

使用hdf5依賴於python的工具包 h5py 使用pandas讀取 hdf的優點 hdf的優點有 自述性 對於乙個hdf檔案裡的每乙個資料物件,有關於該資料的綜合資訊 元資料 在沒有任何外部資訊的情況下,hdf允許應用程式解釋hdf檔案的結構和內容。通用性 許多資料型別都可以被嵌入在乙個hdf檔...