python-3.x – 在OpenAI的env.render()之后出错

前端之家收集整理的这篇文章主要介绍了python-3.x – 在OpenAI的env.render()之后出错前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想让下面的代码工作.
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",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

我希望在一个杆子上安装一个推车,以便在新窗口中显示.

错误来自Spyder中的代码.我使用的是ubuntu 16.04; python 3.6.3; IPython 6.1.0.我没有运气使用jupyter笔记本.

我再次道歉.今天刚刚下载的ubuntu我很新.

解决方法

我刚刚解决了这个问题(bug?),就像10分钟前一样:D

你必须将pyglet 3降级为pyglet 1.2.4.
只需在你的anaconda提示符中键入:pip install pyglet == 1.2.4.之后你可能需要重启你的spyder ide.

我会将env.close()添加到您的代码中,否则您将无法关闭窗口.

如果您是python / ML / DL的新手,请查看youtube上的“sentdex”.非常好的内容开始. (他在他的健身教程中使用了TFlearn)但是由于tensorflow 1.4包含了Keras,我建议使用keras high lvl API作为你的神经网络.

祝你好运,保持深刻

如果有人有健康的健身文件,请随时分享.

原文链接:https://www.f2er.com/python/185539.html

猜你在找的Python相关文章