我有一个或多或少的DQN标准实现来解决Atari的“ Breakout”问题(来自Coursera Reinforcement学习课程),在不同计算机上的行为完全不同:
我已经在这个问题上花了两周时间,没有任何进展:(
dtype=np.float32
传递给每个np.array和tf.placeholder调用。答案 0 :(得分:1)
我假设您使用给定的超参数值运行特定版本的代码。然后,您需要在代码的开头为tensorflow
(例如tf.set_random_seed(1)
,numpy
(例如np.random.seed(1)
)和随机(如果使用)修复随机种子。它。
此外,您必须在所有机器上具有相同版本的tensorflow。我的经验是,即使1.3和1.8之间的正向传递也会导致两个不同的输出。 gym
需要相同的检查。
最后,您必须检查cpu或gpu。您不能将cpu运行的结果与gpu运行的结果进行比较。
如果以上两项检查均无效,那么如果您想共享您的colab
代码,我可以对其进行检查。