最近看有關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檔...