ちょっと前まで

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)[:]

これで動いた