【发布时间】:2018-10-05 17:44:51
【问题描述】:
我正在尝试为 LSTM 模型创建一个可变序列长度数据。因此,我创建了一个可变长度的 numpy 数组列表。 例如,一个数组长度 => (11,20),另一个数组长度 => (9,20)。这里 20 是特征数,11/9 表示序列长度
每个数组的末尾都有零和一个数值(类索引)。
如果音频文件属于类索引 = 1 并且帧数为 8 则 y 将是 [0,0,0,0,0,0,0,1]
我想知道,当对每个可变长度的音频数据调用 model.fit 时,最后一个 Dense layer() 的输出形状将等于音频的帧数
那么,我怎样才能创建密集层的可变输出形状(8 或 9 或 11)
我不想填充序列,而是在 LSTM 输入层形状中给出“无”。
但是,在转换为 categorical 时,出现错误:setting array element with sequence.
这里,11是类数
y_train=to_categorical(y_train,11)
y_test=to_categorical(y_test,11)
张量流版本:1.3.0
Keras 版本:2.0.9
【问题讨论】:
-
形状 (11,20) 表示什么?这是
y_train的形状吗?这里的 20 是多少? -
@VivekKumar 20 是特征数,11/9 表示序列长度
-
还是不清楚。您想对目标或特征进行编码吗?请仅显示目标是如何保存在 y_train 中的?
-
@VivekKumar 所以 (11,20) 是一个音频文件的 mfcc 向量的形状
-
这就是功能。该文件的输出是什么?标签?抛出错误的 y_train 和 y_test 中的数据?
标签: python numpy scikit-learn keras lstm