从h5文件中读取数据

时间:2017-10-05 06:45:05

标签: keras

here下载了vgg16_weights。我想将layer_1的param_0保存为numpy数组。我使用以下代码:

with h5py.File('vgg16_weights.h5', 'r') as f:
    my_array = f['layer_1/param_0']

当我写print(my_array)时,输出为:Closed HDF5 dataset并且没有显示任何内容。如何获得所需的阵列。

1 个答案:

答案 0 :(得分:1)

您的变量my_array不是实际数据,而是指向数据集的文件指针(类似于p中的p=open(filename,'r'))。

您有两种选择:

a)让你打开文件

with h5py.File('vgg16_weights.h5', 'r') as f:
    my_array = f['layer_1/param_0']
    print(my_array)

b)将数据读入数组:

with h5py.File('vgg16_weights.h5', 'r') as f:
    my_array = f['layer_1/param_0']
    actual_array = my_array[:]
print(actual_array)

[:]告诉h5文件将所有数据读入新变量。进入变量后,您可以将其用作常规变量