JP / EN

広告
2024/08/20

h5ファイルをPythonで開いて中身を確認する

タグ:python

階層的なバイナリデータのフォーマット、 Hierarchical Data Formatのバージョン5という意味で、これを略して拡張子h5となっている(略しすぎである)。 h5ファイルは現在はあまり使われない形式ではあるが、古い機械学習のデータセットとか Matlab用のデータのファイルとかで間々見かけることがある。
h5ファイルの中身を確認したくなった場合どうすればよいだろうか? Matlabがないと開けないのかとも思ってしまうが、実はPythonにh5pyという読み書き用ライブラリが既にあるので、 これを使うだけである。

h5ファイルの内部はdict型に近い扱いが可能であり、キー・バリューでデータが管理されている。 値はdatasetと呼ばれ、 NumPyの多次元配列に近い形で扱うことができる。 Hierarchical (階層的) という名前の通り、キーを入れ子にしてdict of dict的な構成も可能である。

    $ pip install h5py
  
    In [1]: import h5py
    In [2]: data = h5py.File("./hdffile.h5")  # サンプル用の適当なファイルを読み込み
   
    In [3]: fin.keys()  # キーを確認
    Out[3]: <keysviewhdf5 ['test']=""> 
   
    In [4]: fin["test"]  # 型を確認
    Out[4]: <hdf5 dataset="" "test":="" shape="" (36,),="" type="" "<i8"="">
   
    In [5]:  for i in data["test"]: print(i)
    # 配列内容がprintされればok
  


おすすめ記事

PIL, NumPy, PyTorchのデータ相互変換早見表

NumPyのarray.sizeに相当するのはPytorchのTensor.numel()

pipの設定ファイルpip.confはどこに? 置いてある可能性のある場所一覧



このエントリーをはてなブックマークに追加

https://wonderhorn.net/