HDF 5ファイルの探索(一般接尾辞.h 5のファイル)
1299 ワード
最近luaに関するコードを見て他の人が使っているデータセットを見たのは.h 5ファイルは、kerasで保存されている重みなどの変数だと思っていましたが、実は.h 5(HDF 5,hierarchical data format,5)は、pythonの辞書に相当するデータファイルフォーマットである.例えば、h 5ファイルを開いてファイルのプライマリ・キーを表示するときに2つの部分に分けられ、一部は「data」、一部は「labels」と呼ばれ、このh 5ファイルは辞書に相当し、「data」部分はデータを格納する.「labels」部分にデータを格納するラベル.
例えば、CMU-PIEを読み出す.h 5ファイル(データセットの問題については、よくあるデータセットはGitHubで見つけることができます)
データセットが現在のディレクトリにあると仮定し、pythonに入ります.
USPSデータセットのh 5ファイルについて:まず「train」と「test」の2つの部分に分けて、それからそれぞれ「data」と「target」の2つの部分に分けます
例えば、CMU-PIEを読み出す.h 5ファイル(データセットの問題については、よくあるデータセットは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データセットのh 5ファイルについて:まず「train」と「test」の2つの部分に分けて、それからそれぞれ「data」と「target」の2つの部分に分けます
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')[:]