9

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

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

net 是神经网络,ds 是训练数据。

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

4

2 回答 2

10

如果使用,您始终可以子类化(此处BackpropTrainer为源代码)并覆盖,使用epoch 和 epoch 之间的比率跟踪完整性百分比。trainUntilConvergencemaxEpochs

如果不使用maxEpochs,您总是可以根据验证错误的平均变化率和continueEpochs. 或者只是检查验证错误的变化率。如果您想将纪元映射到时间,则必须分析每个纪元的时间并存储它们。

于 2012-02-18T22:24:29.940 回答
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()

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

希望我能帮助你

于 2015-05-18T13:37:18.460 回答