Keras SimpleRNN - 形状MFCC向量

时间:2018-03-22 19:03:03

标签: python-3.x keras recurrent-neural-network

我目前正在尝试在Keras中实施回归神经网络。该数据由45.000的集合组成,其中每个条目是MFCC向量的集合(可变长度),每个13个系数:

spoken = numpy.load('spoken.npy')
print(spoken[0]) # Gives:
example_row = [
[  
       5.67170000e-01  -1.79430000e-01  -7.27360000e+00  -9.59300000e-02
      -9.30140000e-02  -1.62960000e-01   4.11620000e-01   3.00590000e-01
       6.86360000e-02   1.07130000e+00   1.07090000e-01   5.00890000e-01
       7.51750000e-01],
       [.....]
]
print(spoken.shape) # Gives: (45000,0)
print(spoken[0].shape) # Gives (N, 13) --> N amount of MFCC vectors

我很难理解如何重塑这个Numpy数组以便将它提供给Keras的SimpleRNN:

model = Sequential()
model_spoken.add(SimpleRNN(units=10, activation='relu', input_shape=?))
.....

因此,我的问题是我如何重塑可变长度MFCC向量的集合,以便我可以将其提供给Keras的SimpleRNN对象?

1 个答案:

答案 0 :(得分:1)

实际上非常简单,因为Keras内置了重新格式化数组和填充零的函数以获得静态长度:

spoken_train = pad_sequences(spoken_train, maxlen=100)

请参阅github issue