考虑这样一种情景:一个神经网络在一个大型数据集上进行长时间的训练。在暂时将神经网络保存到磁盘以便稍后继续训练之前,调用FinishTraining()方法是否正确?还是应该在所有训练完成后的最后才调用一次FinishTraining()方法?
Encog机器学习框架提供了将神经网络保存到磁盘并稍后使用Encog中的TriningContinuation类继续训练的选项。在将神经网络保存到磁盘之前调用FinishTraining()方法是否会对神经网络的训练产生任何负面影响?
回答:
是的,可以这样做。FinishTraining方法的主要目的是刷新任何对权重的临时更新。你可以在每次迭代结束时调用它,除了性能影响外,不会有任何损害。Encog中的许多训练器甚至不实现finishTraining方法,因为它们不需要这个功能。