Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-03-21
年龄: 39
帖子: 4
声望力: 0 ![]() |
![]()
在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训练起来变乖, 不会搞得你总的最下化窗口了。 |
![]() |
![]() |