在Python 3.5中将table.EArray对象转换为numpy数组对象

时间:2018-07-09 10:01:44

标签: arrays numpy machine-learning deep-learning dataset

我按照本教程创建了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数组对象,那么我可以从这里继续,而无需进行任何更改。

0 个答案:

没有答案