对于h2o的deeplearning函数中的某些参数组合,每次运行时都会得到不同的结果。
tag
为了在每次运行时获得模型的一致结果,我需要做什么?
答案 0 :(得分:3)
如果在多个核心上运行,则使用H2O进行Deeplearning将无法再现。结果和性能指标可能与您每次训练深度学习模型时的结果略有不同。 H2O中的实现使用了一种名为“Hogwild!”的技术。这会增加培训速度,但代价是多核心的可重复性。
因此,如果您想要可重复的结果,则需要限制H2O在单个核心上运行,并确保在seed
调用中使用h2o.deeplearning
。
根据Darren Cook的评论进行编辑:
我忘了包含需要与reproducible = TRUE
组合设置的seed
参数,以使其真正可重现。请注意,这将使运行速度慢很多。并且不建议使用大型数据集执行此操作。