OpenAI env.render() 之后的错误
Error following env.render() for OpenAI
我正在尝试让下面的代码工作。
import gym
env = gym.make("CartPole-v0")
env.reset()
env.render()
前 3 行 运行 我没有问题,但是当我 运行 第 4 行时,我收到错误:
Traceback (most recent call last):
File "<ipython-input-3-a692a1a1ffe7>", line 1, in <module>
env.render()
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/core.py", line 286, in _render
return self.env.render(mode, close)
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/envs/classic_control/cartpole.py", line 116, in _render
self.viewer = rendering.Viewer(screen_width, screen_height)
File "/home/mikedoho/gym/gym/envs/classic_control/rendering.py", line 51, in __init__
self.window = pyglet.window.Window(width=width, height=height, display=display)
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/window/__init__.py", line 504, in __init__
screen = display.get_default_screen()
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 73, in get_default_screen
return self.get_screens()[0]
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 65, in get_screens
raise NotImplementedError('abstract')
NotImplementedError: abstract
我希望能有一辆挂在杆子上的手推车在新的 window 中展示。
此错误来自 Spyder 中的代码。我正在使用 ubuntu 16.04; python3.6.3; IPython6.1.0。我用 jupyter notebook 运气不好。
再次向您道歉。我对此很陌生,今天刚下载 ubuntu。
我刚刚解决了这个问题(错误?),就像 10 分钟前 :D
您必须将 pyglet 3 降级到 pyglet 1.2.4。
只需在您的 anaconda 提示符中输入:pip install pyglet==1.2.4
。之后你可能需要重启你的 spyder ide.
我会在您的代码中添加 env.close()
,否则您将无法关闭 window。
如果您是 python/ML/DL 的新手,请在 youtube 上查看 "sentdex"。 imo 非常好的内容开始。 (他在他的健身房教程中使用了 TFlearn)但是由于 tensorflow 1.4 包含 Keras,我建议对你的神经网络使用 keras high lvl API。
祝你好运并保持深度
如果有人有好的健身房文档,欢迎分享。
我正在尝试让下面的代码工作。
import gym
env = gym.make("CartPole-v0")
env.reset()
env.render()
前 3 行 运行 我没有问题,但是当我 运行 第 4 行时,我收到错误:
Traceback (most recent call last):
File "<ipython-input-3-a692a1a1ffe7>", line 1, in <module>
env.render()
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/core.py", line 286, in _render
return self.env.render(mode, close)
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/envs/classic_control/cartpole.py", line 116, in _render
self.viewer = rendering.Viewer(screen_width, screen_height)
File "/home/mikedoho/gym/gym/envs/classic_control/rendering.py", line 51, in __init__
self.window = pyglet.window.Window(width=width, height=height, display=display)
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/window/__init__.py", line 504, in __init__
screen = display.get_default_screen()
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 73, in get_default_screen
return self.get_screens()[0]
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 65, in get_screens
raise NotImplementedError('abstract')
NotImplementedError: abstract
我希望能有一辆挂在杆子上的手推车在新的 window 中展示。
此错误来自 Spyder 中的代码。我正在使用 ubuntu 16.04; python3.6.3; IPython6.1.0。我用 jupyter notebook 运气不好。
再次向您道歉。我对此很陌生,今天刚下载 ubuntu。
我刚刚解决了这个问题(错误?),就像 10 分钟前 :D
您必须将 pyglet 3 降级到 pyglet 1.2.4。
只需在您的 anaconda 提示符中输入:pip install pyglet==1.2.4
。之后你可能需要重启你的 spyder ide.
我会在您的代码中添加 env.close()
,否则您将无法关闭 window。
如果您是 python/ML/DL 的新手,请在 youtube 上查看 "sentdex"。 imo 非常好的内容开始。 (他在他的健身房教程中使用了 TFlearn)但是由于 tensorflow 1.4 包含 Keras,我建议对你的神经网络使用 keras high lvl API。
祝你好运并保持深度
如果有人有好的健身房文档,欢迎分享。