开放式 AI 健身房实时运行,而不是尽可能快地运行

sto*_*ime 6 openai-gym

好吧,那么 OpenAI Gym 中一定有一些选项可以让它运行得尽可能快吗?我有一个 Linux 环境可以做到这一点(尽可能快地运行),但是当我在 Windows 上运行精确的设置时,它只是实时运行。

我正在研究的具体环境是 Montezuma 的 Revenge Atari 游戏。我运行完全相同的代码,但在我的 Linux 设置上,它能够更快地运行游戏。只是想让你知道我的 Linux 计算机的规格比我的 Windows 计算机差。

这里有一些代码供那些想要它的人使用:

for i in range(episode_count):
    ob = env.reset()
    ob = np.expand_dims(ob, axis=0)
    time = 0
    while True:
        time += 1
        action = agent.act(ob, reward, done)
        new_ob, reward, done, _ = env.step(action)
        new_ob = np.expand_dims(new_ob, axis=0)
        agent.remember(ob, action, reward, new_ob, done)

        ob = new_ob
        env.render()
        if done or time >= 1000:
            print("episode: {}/{}, time: {}, e: {:.3}"
                  .format(i, episode_count, time, agent.epsilon))
            if len(agent.memory) > batch_size:
                agent.replay(batch_size)
            # agent.save("./save/montazuma-dqn.h5")
            break
Run Code Online (Sandbox Code Playgroud)

同样的事情在两种设置上运行,运行速度会得到不同的结果。

小智 2

对于未来关注此事的任何人来说,这是因为self.env.render(). 我花了一些时间才弄清楚是什么导致我的代码变慢。最终渲染每个动作都需要时间,这会减慢你的代码速度