使用h5py python创建数据集时出错

问题描述

我正在尝试从此处在Google Colab code I run

中运行代码

但在第二行

hf = h5py.File('data_1.h5','w')

hf.create_dataset('dataset_1',data=x) 

我收到以下错误

    116         else:
    117             dtype = numpy.dtype(dtype)
    --> 118         tid = h5t.py_create(dtype,logical=1)    
    119     
    120     # Legacy
    h5py/h5t.pyx in h5py.h5t.py_create()
    h5py/h5t.pyx in h5py.h5t.py_create()
    h5py/h5t.pyx in h5py.h5t.py_create()

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

为什么会出现?根本原因是什么?关于如何解决它的任何想法?

我在x中看到的是

    [[array([[[255.,255.,255.],[255.,...,255.]],[[255.,.......

解决方法

代码修复是使x保持这样:

hf.create_dataset('dataset_1',(len(x),),dtype=dt)
hf['dataset_1'][...] = x