1

【追記:問題は解決しました。解決策については最後を参照してください]

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']

誰もこれに遭遇したことがありますか?ありがとう。

PSdatasetは v7.3 .mat ファイルから読み取られます。「traindata」は元は単精度行列で、「trainlabel」は .mat ファイルの int32 ベクトルです。

[解決策:] http://www.lfd.uci.edu/~gohlke/pythonlibs/#h5pyから入手できるビルド済みバージョンで既存の h5py lib (Anaconda に同梱) を上書きします。

4

0 に答える 0