Python 强化学习教练:Saver无法恢复代理';检查站

Python 强化学习教练:Saver无法恢复代理';检查站,python,neural-network,reinforcement-learning,Python,Neural Network,Reinforcement Learning,我通过AWS Sagemaker使用,我遇到了一个我很难理解的问题 我正在使用AWS Sagemaker进行学习,使用AWS Robomaker进行环境测试,就像在使用RL coach时一样。事实上,在学习方面,代码与标准的差别很小。但环境却完全不同 发生了什么: 图形管理器初始化成功 生成第一个检查点(并上传到S3) 代理加载第一个检查点 代理使用第一个策略执行N个事件 图形管理器获取N个片段 graph manager执行1个训练步骤并创建第二个检查点(上传到S3) 代理无法使用第二个检查

我通过AWS Sagemaker使用,我遇到了一个我很难理解的问题

我正在使用AWS Sagemaker进行学习,使用AWS Robomaker进行环境测试,就像在使用RL coach时一样。事实上,在学习方面,代码与标准的差别很小。但环境却完全不同

发生了什么:

  • 图形管理器初始化成功
  • 生成第一个检查点(并上传到S3)
  • 代理加载第一个检查点
  • 代理使用第一个策略执行N个事件
  • 图形管理器获取N个片段
  • graph manager执行1个训练步骤并创建第二个检查点(上传到S3)
  • 代理无法使用第二个检查点还原模型。
代理引发异常,并显示以下消息:
无法还原代理的检查点:'main\u level/agent/main/online/global\u step'

回溯指向发生在以下位置的错误:

文件“/someverylongpath/rl_coach/architecture/tensorflow_components/savers.py”,第93行,在
对于ph,zip中的v(self.\u变量\u占位符,self.\u变量)
KeyError:“主\级别/代理/主/联机/全局\步骤”
我用的就像Deepracer a一样。 补丁中值得注意的一点是:

-        self._variables = tf.global_variables()
+        self._variables = tf.trainable_variables()
但这不应该导致
“主/代理/主/在线/全局步骤”
不存在自身变量吗? 我认为问题是全局步骤在self.\u变量中,它不应该存在

所以,关于这个问题,有一些事情我不明白,而且我不习惯rl教练,所以任何帮助都是有价值的

  • 为什么只有第二次失败?(图形管理器是否更改计算图形?)
  • 如何避免全局步骤处于self.\u变量中
  • 更多信息:

    • 我使用
      rl coach slim 1.0.0
      tensorflow 1.11.0
    • 请注意,我使用的方法与Deepracer a一样
    我删除了补丁(从技术上讲,我删除了dockerfile中应用补丁的补丁命令),现在它工作了,模型从检查点正确恢复