Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hdf5 属性错误:';数据集';对象没有属性';价值';_Hdf5_H5py - Fatal编程技术网

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

我在使用程序包读取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 = 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数据有两种主要方式。简而言之,您可以:

  • 返回一个h5py数据集对象。dataset对象的行为“就像”它是一个数组,但在需要之前不会将数据加载到内存中
  • 返回一个NumPy数组。这会立即将数据加载到内存中

  • 以下各示例:

    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格式,并具有许多增强功能和错误更正功能。