Hdf5 属性错误:';数据集';对象没有属性';价值';
我在使用程序包读取hdf5文件时遇到此错误:Hdf5 属性错误:';数据集';对象没有属性';价值';,hdf5,h5py,Hdf5,H5py,我在使用程序包读取hdf5文件时遇到此错误: dataset.value 错误: Traceback (most recent call last): File "train.py", line 163, in <module> train(0, False, args.gpu_list, args.model_path) File "train.py", line 76, in train dataset = Ani
dataset.value
错误:
Traceback (most recent call last):
File "train.py", line 163, in <module>
train(0, False, args.gpu_list, args.model_path)
File "train.py", line 76, in train
dataset = Ani1Dataset(dir_path='/data/ANI-1_release')
File "/code/ani1dataset.py", line 16, in __init__
self.parse(dir_path)
File "/code/ani1dataset.py", line 32, in parse
for molecule in adl:
File "/code/pyanitools.py", line 75, in __iter__
for data in self.h5py_dataset_iterator(self.store):
File "/code/pyanitools.py", line 71, in h5py_dataset_iterator
yield from self.h5py_dataset_iterator(item, path)
File "/code/pyanitools.py", line 60, in h5py_dataset_iterator
dataset = np.array(item[k].value)
AttributeError: 'Dataset' object has no attribute 'value'
回溯(最近一次呼叫最后一次):
文件“train.py”,第163行,在
列车(0,错误,args.gpu\u列表,args.model\u路径)
列车中第76行的文件“train.py”
dataset=Ani1Dataset(目录路径='/data/ANI-1\u发布')
文件“/code/ani1dataset.py”,第16行,在__
self.parse(dir\u路径)
文件“/code/ani1dataset.py”,第32行,在parse中
对于adl中的分子:
文件“/code/pyanitools.py”,第75行,在__
对于self.h5py_数据集_迭代器(self.store)中的数据:
h5py_数据集迭代器中的文件“/code/pyanitools.py”,第71行
从self.h5py_数据集_迭代器(项,路径)生成
h5py_数据集_迭代器中的文件“/code/pyanitools.py”,第60行
dataset=np.array(项[k].值)
AttributeError:“数据集”对象没有属性“值”
已弃用dataset.value属性。或使用:
dataset[()]
或降级h5py
以使用旧语法:
pip3 install --upgrade pip && pip3 install h5py=='2.9.0'
是的,
.value
已被弃用一段时间。正如我在上面的评论中提到的,如果没有令人信服的理由,我不会降级到h5py 2.9.0。它于2014年发布。当前的h5py版本为3.2,支持最新的HDF5格式,并具有许多增强功能和错误更正功能
使用h5py访问HDF5数据有两种主要方式。简而言之,您可以:
以下各示例:
with h5py.File('filename.h5','r') as h5f:
# return a h5py dataset object:
my_ds_obj = h5f[ds_name]
# return a h5py dataset object:
my_ds_arr = h5f[ds_name][:]
此外,如果您只想读取一些数据,h5py支持大多数NumPy切片语法,包括花式索引的子集 在上面的代码中,如果
item[k]
引用HDF5数据集,则可以使用dataset=item[k][:]
将其读入NumPy数组。干净多了。此外,如果没有令人信服的理由,我不会降级到h5py 2.9.0。它于2014年发布。当前的h5py版本为3.2,支持较新的HDF5格式,并具有许多增强功能和错误更正功能。