我通过运行此链接Neural Network – Predicting Values of Multiple Variables中提供的代码获得了结果。我能够计算损失的准确性等。但是,每次运行此代码时,都会得到一个新结果。是否有可能获得相同(一致)的结果?
那里有很多随机数组。每次使用np.random.seed()
获得相同的值。例如:
np.random.seed()
每次运行此代码,您都会得到相同的结果。在我的机器上:
np.random.seed(42)
for _ in range(3):
print(np.random.random(3))
请注意,机器学习管道中的许多其他部分也使用随机化。例如:
[0.37454012 0.95071431 0.73199394]
[0.59865848 0.15601864 0.15599452]
[0.05808361 0.86617615 0.60111501]
拆分为训练,验证和测试数据集。大多数ML函数允许您将种子作为参数传递。看一下文档。根据您正在执行的操作以及所使用的库,您是否可以使整个管道具有可复制性。
您可能也喜欢train_test_split()
或train_test_split()
关于使用Keras获得可再现的结果。
代码到处都是this article!此外,权重在大多数情况下也是随机设置的,并且batch_size对结果也有影响(尽管影响很小)。
random.randint()
生成随机值adam
/ np.random.seed()
问题,则将编辑答案。