查看单个帖子
旧 2009-12-29, 09:35   #4
whqonline
初级会员
 
注册日期: 2009-03-21
年龄: 39
帖子: 4
声望力: 0
whqonline 正向着好的方向发展
微笑 【原创】问题解决--怎么让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训练起来变乖, 不会搞得你总的最下化窗口了。
whqonline 当前离线   回复时引用此帖