尺寸不匹配的原因是您要传递尺寸 label 与序列长度不匹配。 RNN对序列的每个抽头都有一个输出,因此如果您的长度为100,它将有100个输出,每个时间步长一个。您可以通过设置来修复此错误 m1 成为 matrix(round(runif(100*200)), 100, 200) ,但你不能使用简化的mx.rnn()接口做你想要的(即预测整个序列的一个数字)。您需要根据代码实现自己的网络 这里 。为了实现您正在寻找的单输出,您可以丢弃除最后时间步之外的所有输出,并通过Softmax层运行该输出。
label
m1
matrix(round(runif(100*200)), 100, 200)