我正在尝试自动确定Keras自动编码器何时收敛。例如,请查看“让我们构建最简单的自动编码器”下的link。时期的数量被硬编码为50(当损失值收敛时)。但是,如果你不知道这个数字是50,你将如何使用Keras进行编码?你会继续打电话给fit()
吗?
答案 0 :(得分:6)
这个问题实际上是荒谬而广泛的。关于如何设置时期数的方法很多:
keras
中,您有一个名为EarlyStopping的特殊对象,可以为您完成工作。当然还有其他情况,例如当您在Bayessian超参数设置中选择时,使用强化学习来查找停止时间或更复杂的场景,但这些方法通常不会带来任何改进。
可以肯定的是,重新启动fit
方法可能会导致意外行为,因为模型的许多内部状态都会重置,这可能会导致不稳定。对于这种情况,我强烈建议您使用train_on_batch
,它不会重置模型状态,并且可以使很多花哨的训练方案成为可能。