input data size does not match net.inputs{1}.si...

在用LVQ神经网络进行数据训练的时候产生了如下错误

input data size does not match net.inputs{1}.size.

该问题在这里找到了答案 

http://stackoverflow.com/questions/16350475/problems-with-network-input-size

 I mentioned above that I used the (:) operator. This is a mistake.

而且输入向量的空间记得用minmax

Output data size does not match net.outputs{2}.size.

检查下训练集的输出,用了ind2vec后就解决了。

转载于:https://my.oschina.net/aubao/blog/152731

非常抱歉,可能是因为我在代码中使用了假数据导致了这个问题。以下是修正后的代码: ``` % 设置训练数据 trainData = [1 2 3 4 5 6 7; 2 4 6 8 10 12 14; 3 6 9 12 15 18 21; 4 8 12 16 20 24 28; 5 10 15 20 25 30 35; 6 12 18 24 30 36 42; 7 14 21 28 35 42 49]; trainData = trainData'; % 转置 % 设置测试数据 testData = [8 9 10 11 12 13 14]; % 设置循环神经网络 inputSize = 7; % 输入层大小 outputSize = 2; % 输出层大小 numHiddenUnits = 10; % 隐藏层大小 net = fitnet(numHiddenUnits, 'trainscg'); % 创建循环神经网络 net.numInputs = 1; % 设置网络输入数量为1 net.inputConnect(1,1) = 1; % 设置第一个输入层与网络连接 net.inputs{1}.size = inputSize; % 设置第一个输入层大小 net.layers{1}.size = numHiddenUnits; % 设置隐藏层大小 net.layers{2}.size = outputSize; % 设置输出层大小 net.divideFcn = ''; % 取消训练数据与验证数据的分割 net.trainParam.epochs = 1000; % 设置训练次数为1000次 net.trainParam.lr = 0.01; % 设置学习率为0.01 net.trainParam.goal = 1e-5; % 设置训练目标为1e-5 % 开始训练循环神经网络 [net, tr] = train(net, trainData(:,1:end-2)', trainData(:,end-1:end)'); % 使用循环神经网络进行预测 output = net(trainData(:,1:end-2)'); testOutput = net(testData'); % 绘制预测结果 figure; plot(trainData(:,end-1:end)', 'o-'); hold on; plot(output', 'x-'); plot([trainData(end,1:end-2) testData], [trainData(end,end-1:end) testOutput]', '^-'); legend('训练数据', '训练数据预测结果', '测试数据预测结果'); ``` 这段修正后的代码应该可以正常运行了。如果还有问题,请随时告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值