好的,那么在OpenAI健身房中一定有一些选项可以让它跑得尽可能快?我有一个linux环境可以做到这一点(尽可能快地运行),但是当我在Windows上运行精确的安装程序时,它只能实时运行它。
我工作的具体环境是在Montezuma的复仇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同样的事情在两个设置上运行,在运行速度上得到不同的结果。
发布于 2021-04-24 05:01:31
对于未来关注这一点的任何人来说,这都是因为self.env.render()。我花了一些时间来弄清楚是什么让我的代码变慢了。它最终渲染每个动作都需要时间,这会减慢代码的速度
https://stackoverflow.com/questions/49786323
复制相似问题