我正在尝试按照此处的教程进行操作:https://github.com/microsoft/ML-For-Beginners/blob/main/8-Reinforcement/2-Gym/README.md 我可以运行一次如下所示的代码块 1,但是当我运行此代码或任何其他涉及 env.reset() 和 env.render() 的代码时,我得到“显示 Surface 退出”错误。我正在使用 Mac 操作系统。
env.reset()
for i in range(100):
env.render()
env.step(env.action_space.sample())
env.close()
回答1
env.reset()
for _ in range(1000):
env.render(mode='human')
obs, rew, done, info = env.step(env.action_space.sample()) # take a random action
if done:
env.reset()
env.close()
这段代码不能像你一样工作,但如果你添加前 2 行它就可以工作。也许 Jupyter 忘记或没有实现 env 变量。
这是很好的代码:
import gym
env = gym.make('LunarLander-v2',continuous=True)
env.reset()
for _ in range(1000):
env.render(mode='human')
obs, rew, done, info = env.step(env.action_space.sample()) # take a random action
if done:
env.reset()
env.close()