好的,那么OpenAI健身房中一定有一些选项可以让它尽可能快地运行吗?我有一个 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
同样的东西在两个设置上运行,在运行速度上得到不同的结果。
对于将来看到这个的人来说,这是因为self.env.render()
.花了一些时间来弄清楚是什么减慢了我的代码速度。它最终渲染每个操作都需要时间,这会减慢您的代码速度