我按照本教程创建了HDF5数据集文件。 http://machinelearninguru.com/deep_learning/data_preparation/hdf5/hdf5.html
import tables
img_dtype = tables.UInt8Atom()
data_shape = (0, 128, 128, 3)
hdf5_path = os.path.join(dir, 'dataset.hdf5')
hdf5_file = tables.open_file(hdf5_path, mode='w')
train_storage = hdf5_file.create_earray(hdf5_file.root, 'train_img', img_dtype, shape=data_shape)
for i,file in enumerate(files):
img=cv2.imread(os.path.join(filepath,file))
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
train_storage.append(img[None])
hdf5_file.close()
但是我的代码是为numpy数组编写的,这给我带来了麻烦。例如以下代码引发错误,即“ EArray”对象没有任何属性“ astype”
train_img=hdf5_file.root.train_img
train_img = train_img.astype('float32')
train_img /= 255
如果我可以将EArray对象转换为numpy数组对象,那么我可以从这里继续,而无需进行任何更改。