ورود

View Full Version : رفع ايراد شبكه عصبي كه يك رقم را مي گيرد وتشخيص ميدهد چنداست



mehdi1357
یک شنبه 27 دی 1388, 10:13 صبح
با سلام
با سلام خدمت دوستان
من یک شبکه عصبی با متلب طراحی كردم که مجموعه ای از ارقام 0 تا 9 را مي گیرد و تشخیص دهد که عدد مورد نظر چند است
ورودی شبکه عصبی تصویر یکی از ارقام 0 تا 9 است
من اين پروژه را با آموزش براي يك تصوير انجام داده ام كه بصورت زير است

function recognize_number ()

A = imread('c:\test\1.bmp');

B = imread('c:\train\1.bmp');

net = newff( [0 255],[3 1],{'tansig','purelin'}, 'traingd');

T= im2col(B,[10 10 ],'sliding');


[net, tr]= train(net, A, T);

E = sim( A);

disp(E);

end

A = imread('c:\test\1.bmp');
اين دستور تصوير ورودي كه رقم يك است تبديل به ماتريس مي كند

B = imread('c:\train\1.bmp');
اين دستور تصوير رقم يك است كه بايد به شبكه آموزش داده شود كه با دستورات جداگانه يا با حلقه بايد اين آموزش براي همه اعداد 0تا 9 انجام گيرد

net = newff([0 255],[3 1],{'tansig','purelin'}, 'traingd');
اين دستور يك شبكه عصبي با 1 لايه ورودي 3 لايه پنهان و يك لايه خروجي مي باشد

T= im2col(B,[10 10 ],'sliding');
ازآنجا كه ماتريسي كه با يد يكه شبكه با آن اموزش ببيند بايد يك بعدي باشد اين دستور يك ماتريس دو بعدي با 10 سطر و ستون را به ماتريس تك بعدي تبديل مي كند

[net, tr]= train(net, A, T);
اين دستور شبكه با ورودي ماتريس A و ماتريس آموزش T را آموزش ميدهد

E = sim( A);
جواب را توليد

disp(E);
جواب را نمايش ميدهد
اما هنگام اجراي اين برنامه ايراد هاي زير را مي دهد لطفا اگر در مورد رفع اين ايراد مر ا كمك كنيد
با تشكر



??? Output argument "Pi" (and maybe others) not assigned during call to "F:\toolbox\nnet\nnet\@network\train.m (trainargs)".





Error in ==> network.train>trainargs at 321


err = '';





Error in ==> network.train at 169


[err,P,T,Pi,Ai,Q,TS,matrixForm] = trainargs(net,P,T);





Error in ==> recognize_number at 12