我正在对语音数据中的语音和非语音进行分类,每个语音数据中都有3630371个数据点和39个特征。即语音数据的形状为(3630371,39)。我如何将其重塑为LSTM输入。 3D input_shape必须是什么,或者“样本”,“时间步长”和“功能”的值是什么。
以下正确吗?
data.reshape(3630371, 1, 39)
LSTM(32, input_shape = (1, 39))
请帮助!我不知道。
答案 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
。通常,这在很大程度上取决于您正在使用的域来修复这些数字。