如何计算或监控pybrain神经网络的训练?

时间:2012-02-04 00:54:33

标签: python neural-network pybrain

我有一个神经网络n pybrain,有两个输入,一个隐藏层和一个输出层。我使用以下内容进行训练:

trainer = BackpropTrainer(net,ds)
trainer.trainUntilConvergence()

net是神经网络,ds是列车数据。

我的问题是我是否以及如何计算完成培训所需的时间,或者如何监控培训的进度。谢谢。

2 个答案:

答案 0 :(得分:10)

你总是可以继承BackpropTrainer(源代码here) 如果使用trainUntilConvergence,则覆盖maxEpochs,使用纪元和纪元之间的比率跟踪完整性的百分比。

如果不使用maxEpochs,您可以根据验证错误的平均变化率和continueEpochs的大小,对剩余的时期数进行有根据的猜测。或者只是检查验证错误的变化率。如果您想要将时期映射到时间,则必须分析每个时期的时间并存储它们。

答案 1 :(得分:2)

除了我用于它的代码之外,没有什么可以添加到上一个注释中:

maxepochs=20
results=[]
for i in range(len(maxepochs)):
    aux = trainer.train()
    results.extend(aux)
    plt.figure()
    plt.scatter(range(len(results[0])),results[0])
    plt.draw()

你会在每个周期得到一个新的情节。不是很好,但它对我有用。

希望我能帮助你