【原创】问题解决--怎么让BP安静的训练
在BP训练时,训练窗口在每次训练的时候总不断的弹出,当程序循环建模时搞的计算机无法使用,现在我找到了问题的根源。
在BP程序调用 train--> feval --> trainscg --> plotperf ,这样一个调用链,解决的地方也就在最后一个函数。我的存放地址是:toolbox\nnet\nnet\nnplot\plotperf.m
里面有一句代码,如下
% Special case 2: Delete plot if zero epochs
if (epoch == 0) | isnan(tr.perf(1))
fig = find_existing_figure;
if (fig) delete(fig);
end
if (nargout) stop = 0; end
return
end
经分析试验得知,其中 if (fig) delete(fig); 的意思是当一次模型完毕,或者当一次模型要开始建立,要先删除原建模时的训练图(当然后期好要再建立一个),这就形成了训练窗口不断更新不断出现的情况,所以,只要把delete(fig) 注释掉就ok了!
经验证,bp训练起来变乖, 不会搞得你总的最下化窗口了。
|