Как сделать трехмерный массив для входного питона CNN - PullRequest
1 голос
/ 25 мая 2019

Я пытаюсь научиться cnn network распознавать эмоции в речи. Для этого я использую коэффициенты плавления (mfcc), которые представляют каждый аудиофайл в виде двухмерного массива (количество кадров * количество коэффициентов mfcc). Я хочу иметь трехмерный массив в качестве входных данных для моего слоя свертки 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 голосов
/ 25 мая 2019

Если ваш inputs является списком, преобразуйте его в массив numpy, np.array(inputs)

Я думаю, что вы пытаетесь сделать это:

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

Эта строка в основном помещает всю матрицу в другую матрицу, давая ей еще одно измерение.

...