lea*_*ner 7 reinforcement-learning deepl
进口健身房
\nif __name__ == "__main__":\n env = gym.make("CartPole-v0")\n env = gym.wrappers.Monitor(env, "recording")\n\n total_reward = 0.0\n total_steps = 0\n obs = env.reset()\n\n while True:\n action = env.action_space.sample()\n obs, reward, done, _ = env.step(action)\n total_reward += reward\n total_steps += 1\n if done:\n break\n\n print("Episode done in %d steps, total reward %.2f" % (\n total_steps, total_reward))\n env.close()\n env.env.close()\nRun Code Online (Sandbox Code Playgroud)\n这些代码来自\xef\xbc\x9aMaxim Lapan。深度强化学习实践
\n当我运行这些代码时,我得到这个:“gym.wrappers”没有属性“Monitor”
\n我尝试在谷歌上搜索以找到答案,但我仍然不知道解决问题的方法。
\n小智 8
看起来他们已经更改了 API 并删除了“Monitor”包装器(https://github.com/openai/gym/releases/tag/0.23.0)。
您可以使用书中的“gym”版本(0.15.3)(例如pip install gym==0.15.3),也可以使用render()更新的环境类的 -method(来自 v0.23.0)。
在后一种情况下,您需要将其包含env.render()到 while 循环中:
while True:
action = env.action_space.sample()
obs, reward, done, _ = env.step(action)
total_reward += reward
total_steps += 1
env.render()
if done:
break
Run Code Online (Sandbox Code Playgroud)