openai gym env.P,AttributeError“TimeLimit”对象没有属性“P”

2024-10-01 17:40:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在阅读Sudharsan Ravichandiran的《用Python进行强化学习的实践》(Hands On Reinforcement Learning with Python),以及我遇到的第一个AttributeError示例之一:

AttributeError 'TimeLimit' object has no attribute 'P'

由以下行引发:

for next_sr in env.P[state][action]: 

我找不到任何关于env.p的文档,但是我在这里找到了一个用python2编写的类似示例:https://gym.openai.com/evaluations/eval_48sirBRSRAapMjotYzjb6w/

我想,env.p是一个过时的图书馆的一部分(即使这本书是在2018年6月出版的,而被指控的代码是python3),那么我该如何替换它呢?在


Tags: noenv示例objectonwithattributelearning
3条回答

如果您使用的是OpenAI Gym的最新版本,this github issue link中提出的解决方案对我很有用。在

正如github问题中所解释的,最新版本的gym中的监控已被包装器所取代,因此监控无法与最新的gym一起工作。要在最新版本的Gym中重新实现监控,请更改类似以下内容的代码:

    env.monitor.start('cartpole-hill/', force=True)

^{pr2}$

试试这个

for next_sr in env.env.P[state][action]:

注意开始处的额外“env”

对于一般用途,请尝试

^{pr2}$

这将给出成员函数的列表。在

尝试先打开env,添加以下内容

env = env.unwrapped

相关问题 更多 >

    热门问题