如何重塑语音数据作为LSTM输入?

时间:2019-07-17 15:24:11

标签: keras deep-learning lstm recurrent-neural-network speech

我正在对语音数据中的语音和非语音进行分类,每个语音数据中都有3630371个数据点和39个特征。即语音数据的形状为(3630371,39)。我如何将其重塑为LSTM输入。 3D input_shape必须是什么,或者“样本”,“时间步长”和“功能”的值是什么。

以下正确吗?

data.reshape(3630371, 1, 39)
LSTM(32, input_shape = (1, 39))

请帮助!我不知道。

1 个答案:

答案 0 :(得分:0)

LSTM输入:(no of samples, timesteps, features)

data.reshape(3630371, 1, 39)
LSTM(32, input_shape = (1, 39))

在上面的代码中,您实际上只有1个时间步,而没有利用LSTM的功能。您正在做的是:第一步中的LSTM将39维向量作为输入并终止迭代。

另一个选择是给出39个时间步长的标量。

data.reshape(3630371, 39, 1)

这里LSTM循环了39次(39个时间步长),但每个时间步长都以标量作为输入。

实际上,任何其他组合都可以使用,直到no_timestep x feature_dim = total_input_dimension。通常,这在很大程度上取决于您正在使用的域来修复这些数字。