首页 > 解决方案 > 无效的训练数据。对于输出模式为“last”的循环层,响应必须是分类列向量

问题描述

(我是 Matlab 新手,正在尝试构建 LSTM)
我已将 Y 转换为分类数组:
labels = categorical(labels) net = trainNetwork(data, labels, layers, options);

labels =   3×1 categorical array
1 
0 
0 

但是仍然得到错误无效的训练数据。对于输出模式为“last”的循环层,响应必须是分类列向量。

标签: matlabmachine-learninglstm

解决方案


这里的错误可能有点误导。我只能猜测,但从我遇到的类似问题来看,我认为您没有使用元胞数组作为输入数据。只需将您的数据转换为单元格数组,它应该可以正常工作。例如,如果它是一个二维数组,您可以使用:

data = num2cell(data,2);

推荐阅读