Neural network 数据类型类:H5T_FLOAT F0413 08:54:40.661201 17769 hdf5_data_layer.cpp:53]检查失败:hdf_blobs[i]-&;燃气轮机;形状(0)=num(1对1024)

Neural network 数据类型类:H5T_FLOAT F0413 08:54:40.661201 17769 hdf5_data_layer.cpp:53]检查失败:hdf_blobs[i]-&;燃气轮机;形状(0)=num(1对1024),neural-network,hdf5,deep-learning,caffe,matcaffe,Neural Network,Hdf5,Deep Learning,Caffe,Matcaffe,我的数据集是一个HDF5文件,由形状为[129028,1,121024]的数据和形状为[129028,1,1,1]的标签组成 但是,当我运行solver.prototxt时,会收到错误消息: 看起来您是从matlab而不是python保存了hdf5(根据您的代码判断)。 从Matlab保存数据时,必须记住Matlab以colums-first方式(fortran风格)在内存中存储多维数组,而python、caffe和许多其他应用程序希望以行优先方式(C风格)存储多维数组。 因此,在将数据保存到h

我的数据集是一个HDF5文件,由形状为[129028,1,121024]的
数据
和形状为[129028,1,1,1]的
标签
组成
但是,当我运行solver.prototxt时,会收到错误消息:


看起来您是从matlab而不是python保存了hdf5(根据您的代码判断)。
从Matlab保存数据时,必须记住Matlab以colums-first方式(fortran风格)在内存中存储多维数组,而python、caffe和许多其他应用程序希望以行优先方式(C风格)存储多维数组。
因此,在将数据保存到hdf5以供caffe使用之前,需要在matlab中对数据进行
置换。有关更多详细信息,请参阅

我怀疑,如果您在存储的hdf5文件的shell中运行
h5ls
,您会注意到存储的数组的形状实际上是

data   [1024, 12, 1, 129028]
label  [1, 1, 1, 129028]

看起来您是从matlab而不是python保存了hdf5(根据您的代码判断)。
从Matlab保存数据时,必须记住Matlab以colums-first方式(fortran风格)在内存中存储多维数组,而python、caffe和许多其他应用程序希望以行优先方式(C风格)存储多维数组。
因此,在将数据保存到hdf5以供caffe使用之前,需要在matlab中对数据进行
置换。有关更多详细信息,请参阅

我怀疑,如果您在存储的hdf5文件的shell中运行
h5ls
,您会注意到存储的数组的形状实际上是

data   [1024, 12, 1, 129028]
label  [1, 1, 1, 129028]

请在shell
h5ls
中运行以查看存储阵列的实际形状可能重复的请在shell
h5ls
中运行以查看存储阵列的实际形状可能重复的您是对的!我使用permute将数据集保存在matlab中。我想我误解了你之前告诉我的,所以我错了。非常感谢!现在我可以训练我的数据没有任何错误!再次感谢!@你好,你能就我的新问题给我一些建议吗?你说得对!我使用permute将数据集保存在matlab中。我想我误解了你之前告诉我的,所以我错了。非常感谢!现在我可以训练我的数据没有任何错误!再次感谢!@你好,你能就我的新问题给我一些建议吗?