h5py:切片h5py数据集时出错

时间:2014-04-10 12:48:51

标签: python matlab numpy h5py

[更新:问题已经解决。看到解决方案的结尾]

我正在尝试切片h5py数据集,但这里只会出错

In[76]: dataset['traindata']
Out[76]: <HDF5 dataset "traindata": shape (100, 50), type "<f4">

In[76]: dataset['traindata'][0, 0:10]
---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
<ipython-input-77-4033a3d41a81> in <module>()
----> 1 dataset['traindata'][0, 0:10]

E:\Anaconda\lib\site-packages\h5py\_hl\dataset.pyc in __getitem__(self, args)
    437         mspace = h5s.create_simple(mshape)
    438         fspace = selection._id
--> 439         self.id.read(mspace, fspace, arr, mtype)
    440 
    441         # Patch up the output for NumPy

SystemError: error return without exception set

但是,当我在同一组中切割另一个数据集时,它似乎工作正常

In[74]: dataset['trainlabel']
Out[74]: <HDF5 dataset "trainlabel": shape (1, 50), type "<i4">

In[75]: dataset['trainlabel'][0, 0:10]
Out[75]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

我不太清楚dataset['trainlabel']的错误。

有没有人遇到过这个?感谢。

P.S。从v7.3 .mat文件中读取dataset。 &#34; traindata&#34;最初是一个单精度矩阵和&#34; trainlabel&#34; .mat文件中的int32向量。

[解决方案:] 通过http://www.lfd.uci.edu/~gohlke/pythonlibs/#h5py提供的预建版本覆盖现有的h5py lib(Anaconda附带)。

0 个答案:

没有答案