目前我正在学习Andrew NG的课程。他们在那里打开.h5
文件中的图像数据集。我想对我自己的数据集尝试相同的方法:我想将图像文件夹转换为.h5
文件。
我尝试了以下操作,但是当我打开train_x.h5
时,它会将所有条目显示为零。
h5_train = h5py.File("train_x.h5", 'w')
h5_train.create_dataset("data_train", data=np.array(train_x))
print(h5_train)
h5_train.close()
此处train_x
是shape(270000,500)
的数组,其中第一个条目是pixels(300*300*3)
的数字,第二个条目是文件夹中的图像数。
答案 0 :(得分:3)
我认为:
train_x
不包含您的期望。您的语法似乎完全正确。运行此示例时,一切都按预期工作:
import numpy as np
import h5py
array = np.arange(25).reshape(5,5)
archive = h5py.File('test.h5', 'w')
archive.create_dataset('/array', data=array)
archive.close()
我们可以通过
验证它是否正确import h5py
archive = h5py.File('test.h5','r')
for key in archive:
print(key)
print(archive[key][...])
这给出了我们的内容:
array
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
请注意,您也可以使用图形HDFview或命令行工具h5dump来检查您的文件。
最后,最好注意写作的第二种语法:
import numpy as np
import h5py
array = np.arange(25).reshape(5,5)
archive = h5py.File('test.h5', 'w')
archive['array'] = array
archive.close()