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

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