Armazenando uma matriz multidimensional de comprimento variável com o h5py

Estou tentando armazenar uma lista de matrizes de comprimento variável em um arquivo HDF com o seguinte procedimento:

phn_mfccs = []

# Import wav files
for waveform in files:
    phn_mfcc = mfcc(waveform) # produces a variable length multidim array of the shape (x, 13, 1)              

    # Add MFCC and label to dataset
    # phn_mfccs has dimension (len(files),)
    # phn_mfccs[i] has variable dimension ([# of frames in ith segment] (variable), 13, 1)
    phn_mfccs.append(phn_mfcc) 

dt = h5py.special_dtype(vlen=np.dtype('float64'))
mfccs_out.create_dataset('phn_mfccs', data=phn_mfccs, dtype=dt)

Parece que meus tipos de dados não estão funcionando bem - em vez de cada elemento do conjunto de dados mfccs_out que contém uma matriz multidimensional, ele contém apenas uma matriz 1D. por exemplo. se o primeirophn_mfcc Anexo originalmente tem dimensão(59,13,1), mfccs_out['phn_mfccs'][0] tem dimensão(59,). Eu suspeito que é porque eu estou apenas usando um tipo de dados float64 e preciso de outra coisa para uma matriz de matrizes? Se eu não especificar o conjunto de dados ou tentar usardtype='O', porém, gera um erro como "O objeto dtype 'O' não possui equivalente HDF nativo".

Idealmente, o que eu gostaria émfccs_out['phn_mfccs'][i] para conter o i-ésimophn_mfcc que eu anexei à listaphn_mfccs.

questionAnswers(1)

yourAnswerToTheQuestion