听起来像是一个愚蠢的问题,但确实令人讨厌。在模型训练期间,为什么有时会如此奇怪,以至于在模型参数没有任何变化的情况下获得不同的输出或结果,或更具体地说是准确性或验证准确性?
假设我们建立一个模型名称 A
。我们训练它并得到结果,类似于 acc = 60 和 val_acc = 70 。好的。
现在,再次训练相同的模型(不关闭环境),这一次我们得到 acc = 40 和 val_acc = 20 ...。我的意思是,为什么?模型内部没有任何变化,没有parameter
也没有hyperparameter
,什么也没有。那么为什么它显示出这种怪异。
答案 0 :(得分:0)
您需要设置环境的随机种子。然后该程序应该是可复制的。这里显示了一个如何在keras中完成此操作的示例(https://machinelearningmastery.com/reproducible-results-neural-networks-keras/),但是其他所有库也都存在。