如何为CNN输入Python制作3维数组

时间:2019-05-25 10:12:54

标签: python arrays multidimensional-array conv-neural-network mfcc

我正在尝试学习cnn网络以识别语音中的情绪。为此,我使用了将每个音频文件表示为二维数组的mel-ceptal系数(mfcc)(帧数* mfcc系数数)。我想使用3维数组作为cnn卷积层的输入,其中3维是音频文件的数量。我如何获得这种阵列?

for i in range(len(audio_list)):
        (rate,sig) = wav.read(source_folder + audio_list[i])
        inputs = mfcc(sig, rate, nfft=1300)
        # Transform in 3D array
        train_inputs[i] = (np.asarray(inputs[np.newaxis, :]))

1 个答案:

答案 0 :(得分:0)

如果您的inputs是列表,请np.array(inputs)将其转换为numpy数组

我认为您要这样做的是

train_inputs[i] = inputs.reshape((1,inputs.shape[0],inputs.shape[1]))

这行基本上是将整个矩阵放到另一个矩阵中,从而为其提供了另一个维度。