【Gym】CartPole-v0实验不显示CartPole(倒立摆)

环境

系统:Ubuntu19.10

gym:0.15.7

问题

在运行下列示例后:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample())
env.close()

画面上没有CartPole(倒立摆),只有一个白板。

分析原因

上面的代码本身没有问题,但是由于倒立摆是在通过随机采样确定动作,所以很容易就达到 terminal state, 从而完成一次eposide。此时,为了开始下一个episode的学习,需要调用env.reset() 重新进行初始化,否则画面上就是一直显示白板。

问题解决

换用如下代码:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    observation, reward, done, info = env.step(env.action_space.sample())
    if done:
        env.reset()
env.close()

保证画面中始终有的CartPole(即CartPole一直在学习中),如图:

【Gym】CartPole-v0实验不显示CartPole(倒立摆)_第1张图片

参考

[1] https://github.com/openai/gym/issues/1161

你可能感兴趣的:(强化学习)