ちょっと前まで
with h5py.File(data_path, 'r') as f:
img = f['Geophysical Data'].value
これでimgにndarrayが格納されていたのに
f['Geophysical Data'].value
*** AttributeError: 'Dataset' object has no attribute 'value'
ぐぬぬ
環境を変えたらこれだ。
おそらくバージョンの問題だろう
確認してみる
pip show h5py
# 動いてる方
Version: 2.10.0
# エラーが出てる方
Version: 3.7.0
これっぽいなー
2 -> 3
で大きな変更があったのかも
h5pyの3になったときのリリースノートをみてみると
https://docs.h5py.org/en/stable/whatsnew/3.0.html
data = dset.astype(np.int32)[:]
こんな感じで取得してねとのこと
このことから
h5py 2.xまでは .value
で取得してたけど
h5py 3.xからは .astype(np.hoge)[:]
で取得するらしい
実際に
with h5py.File(data_path, 'r') as f:
img = f['Geophysical Data'].astype(np.int16)[:]
これで動いた