我目前正在尝试在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对象?
答案 0 :(得分:1)
实际上非常简单,因为Keras内置了重新格式化数组和填充零的函数以获得静态长度:
spoken_train = pad_sequences(spoken_train, maxlen=100)
请参阅github issue