【问题标题】:HDF file not saving properly with h5py使用 h5py 无法正确保存 HDF 文件
【发布时间】:2017-08-26 05:51:55
【问题描述】:

我正在尝试使用 h5py 将 numpy 数组保存在 HDF 文件中,如下所示:

with h5py.File("mfcc_aligned.hdf", "w") as aligned_f:
    # do stuff to create two numpy arrays, training_X and training_Y
    print(len(training_X)) # this returns the number of elements I expect in the the numpy arr
    aligned_f.create_dataset("train_X", data=training_X)
    aligned_f.create_dataset("train_Y", data=training_Y)
    # if I add a line here to access the datasets I just created, I see that aligned_f does indeed have two keys train_X and train_Y with the shapes I expect

但是,当程序结束并检查文件mfcc_aligned.hdf 时,它正好是 800 字节(比我预期的要小得多),并且没有密钥。我不知道这里发生了什么。

提前感谢您的任何见解!

【问题讨论】:

  • 你试过了吗:with h5py.File('mfcc_aligned.hdf', 'r') as hf: print = hf['train_X'][:]

标签: python numpy hdf5 h5py


【解决方案1】:

你试过了吗(没有在 cmets 中格式化):

with h5py.File('mfcc_aligned.hdf', 'r') as hf:
    print hf['train_X'][:]

【讨论】:

  • print = 是做什么的?
【解决方案2】:

我对你的代码没有任何问题:

In [59]: import h5py
In [60]: training_X = np.arange(12).reshape(3,4)
In [61]: training_Y = np.arange(3).reshape(3,1)
In [62]: with h5py.File("mfcc_aligned.hdf", "w") as aligned_f:
    ...:     # do stuff to create two numpy arrays, training_X and training_Y
    ...:     print(len(training_X)) # this returns the number of elements I expe
    ...: ct in the the numpy arr
    ...:     aligned_f.create_dataset("train_X", data=training_X)
    ...:     aligned_f.create_dataset("train_Y", data=training_Y)
    ...:     
3
In [63]: f = h5py.File("mfcc_aligned.hdf")
In [64]: list(f.keys())
Out[64]: ['train_X', 'train_Y']
In [66]: f['train_X'].value
Out[66]: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
In [67]: f['train_Y'][:]
Out[67]: 
array([[0],
       [1],
       [2]])
In [68]: ll mfcc_aligned.hdf
-rw-rw-r-- 1 paul 2204 Mar 31 14:10 mfcc_aligned.hdf

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多