我有一个神经网络n pybrain,有两个输入,一个隐藏层和一个输出层。我使用以下内容进行训练:
trainer = BackpropTrainer(net,ds)
trainer.trainUntilConvergence()
net是神经网络,ds是列车数据。
我的问题是我是否以及如何计算完成培训所需的时间,或者如何监控培训的进度。谢谢。
答案 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()
你会在每个周期得到一个新的情节。不是很好,但它对我有用。
希望我能帮助你