如何摆脱错误。 我似乎无法训练我的神经网络获得三维输出。 错误说
???使用==>时出错network.sim在178 输入的网络大小不正确。 矩阵必须有1行。
==>中的错误testtt at 10
Y = sim(net,P);
addpath('data')
load('ComPoles_Cir_Cy_Rect')
load('target_row')
P = Poles_Circle_10cm;
T = Poles_Rectangular_40cm;
m = min(min(P));
mx = max(max(P));
net = newff([m mx],[10 10 1],{'tansig' 'tansig' 'purelin'});
Y = sim(net,P);
plot(P,T,P,Y,'o')
net.trainParam.epochs = 150;
net = train(net,P,T);
Y = sim(net,P);
plot(P,T,P,Y,'o') `
答案 0 :(得分:1)
错误信息足够清晰:它期望一个矩阵有一行(一个1xM矩阵),它还有别的东西。
现在,希望这意味着您只需要在代码中转置一些矩阵,它应该可以工作。否则,你可能使用了错误的功能,你需要更多地思考你想要做什么。
答案 1 :(得分:0)
显然,如果没有关于P和m大小的任何信息,我可以猜出在这种情况下有什么问题。 MATLAB NN Toolbox希望输入和输出向量具有按列排序的数据,这意味着如果您具有带X输入的神经网络,则必须使用具有X行和N列的矩阵,其中N为输入样本的数量。输出数据也是如此。这是NN Toolbox在学习过程中最常见的错误。