TypeError: Object dtype dtype('O') has no native HDF5 equivalent

原因:這個原因來自於,要存儲的數據中存在維度不一致的數據

           比如 file.create_dataset('data', data = data) ,那麼data[0].shape=(17,5);data[1].shape=(10,2)

與到這種情況,h5py就無法把data整個轉換成一整個“高維張量”。

 

解決方案

          我目前只找到一個辦法,就是“散裝”,把data[0],data[1]每一個都分開存。

 

           dt = h5py.special_dtype(vlen=np.dtype('float64'))
           file.create_dataset('data', (len(data),), dtype=dt)
           file['data'][...] = data

          

          如果還有別的方法,希望大家告訴我下!謝謝!!1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章