我有一个 90×8 的数据集,我从 90 个字符图像(即数字 1-9)中提取了特征(通过在每个 10×10 单元格中求和 1)。每行代表一个图像。我正在尝试使用以下代码来训练神经网络并识别新的输入图像(包括 1 到 9 之间的数字):
net.trainFcn='traingdx';
net.performFcn='sse';
net.trainParam.goal=0.1;
net.trainParam.show=20;
net.trainParam.epochs=5000;
net.trainParam.mc=0.95;
net =newff(minmax(datasetNormalized'),[20 9],{'logsig' 'logsig'});
T=reshape(repmat([1:9],10,1),1,90);
[net,tr]=train(net,datasetNormalized,T);
之后,我想使用以下内容来使用经过训练的网络识别新图像。m 是一个也被特征提取的图像字符。
[a,m]=max(sim(net,m));
disp(b);
我收到以下错误,我不知道如何解决它:
使用 trainlm 时出错(第 109 行)
输入和目标具有不同数量的样本。
网络/火车错误(第 106 行)[net,tr] = feval(net.trainFcn,net,X,T,Xi,Ai,EW,net.trainParam);
神经错误(第 55 行)[net,tr]=train(net,datasetNormalized,T);
注意:datasetNormalized 是我在 [0,1] 中标准化的数据集。哪个部分导致问题?