我的输入文件包含(17x127)数据(Force)和目标文件(3x127)(True Stress)。
我编写了以下用于训练神经网络的代码:
p=Force;
t=T_Stress;
net =newff(minmax(p),[10,1],{'tansig','purelin'},'trainlm');
net.trainParam.lr = .05; %Learning Rate
net.trainParam.epochs = 300; %Max Ephocs
net.trainParam.goal = 1e-5; %Training Goal in Mean Sqared Error
net.trainParam.show = 50; %# of ephocs in display
[net,tr1] = train(net,p,t);
o1 = sim(net,p)
但是我收到以下错误:
???使用==>时出错trainlm at 109输出数据大小不匹配 net.outputs {2} .size。
==>中的错误network.train at 107
[net,tr] = feval(net.trainFcn,net,X,T,Xi,Ai,EW,net.trainParam);
如何解决此错误?
答案 0 :(得分:0)
尝试提供与" trainlm"相关的训练参数。通过寻找" trainlm"在Matlab帮助
答案 1 :(得分:0)
通过使用参数[10,1]调用newff,您创建了一个神经网络,隐藏层上有10个神经元,输出层上有1个神经元。 这与您使用的输出数量不匹配。 (3x127) 因此,要么更改newff调用,要么使用其他训练数据集。
答案 2 :(得分:0)
如上所述评论"
通过使用参数[10,1]调用newff,您创建了一个神经元 网络中隐藏层上有10个神经元,输出层上有1个神经元
"您将输出图层的值保持为3,因为您有三个目标。命令如下:
net =newff(minmax(p),[10,3],{'tansig','purelin'},'trainlm');