当前位置:  开发笔记 > 编程语言 > 正文

Neurolab重新训练网络

如何解决《Neurolab重新训练网络》经验,为你挑选了0个好方法。

neurolab在python中使用创建一个神经网络.我创建了一个newff网络,并使用默认的train_bfgs训练功能.我的问题很多次,训练只是在时期耗尽或甚至达到错误目标之前结束.我环顾四周,发现了一篇关于neurolabs github页面的帖子,他们在那里解释了为什么会发生这种情况.我的问题是,如果我重新运行程序几次它只是捕获并且训练开始然后错误也会下降(可能一些随机起始权重比其他人好很多).我想做的是在训练中加入一种检查,这样如果错误太高而且训练的时期甚至不接近总数,那么重新训练网络(有点像重新运行程序)(可能重置)网络默认权重)

这是我写的,但显然它不起作用

trainingComplete = False
while not trainingComplete:
    error = net.train(trainingData, TS, epochs=50, show=10, goal=0.001)
    if len(error) < 0.8*epochs:
        if len(error) > 0 and min(error) < 0.01:
            trainingComplete = True
        else:
            net.reset()
            continue
    else:
        trainingComplete = True

正在发生的事情是,当它通过第一个条件,即训练时期太少时,它会net.reset()在重新启动之前执行,但接着,没有正在进行的训练,这就变成了无限循环.知道我错过了什么吗?

谢谢

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有