为什么我的模型每次训练都会给出不同的结果?

时间:2019-06-25 11:29:53

标签: python tensorflow deep-learning reinforcement-learning

我的问题是为什么当我训练相同的算法两次时,每次训练它都会得到不同的结果? 是正常的还是数据或代码有问题?

算法为deep deterministic policy gradient

2 个答案:

答案 0 :(得分:3)

这是绝对正常的。数据或代码都没有问题。

可以将算法初始化为随机状态,例如人工神经网络中的初始权重。 尝试如下设置numpy种子以提高结果的可重复性:

import numpy as np
np.random.seed(42)

here了解更多信息。

答案 1 :(得分:2)

当您初始化模型的权重时,权重通常会根据您使用的方式随机进行初始化,很可能是np.random.rand(),因此每次都会产生不同的结果。

如果不想随机分配权重,请使用np.random.seed(10)始终获得相同的结果。如果使用其他任何插件,我肯定有相同的命令。

编辑:在这种情况下,我看到您使用了张量流:

tf.random.set_random_seed(10)