OpenAI Gym Pendulum 环境在 XServer 中失败

问题描述

我发现 OpenAI 健身房 Pendulum-v0 环境在从 XServer 运行时出现故障,在 WSL2 上运行。

这段代码

env = gym.make('Pendulum-v0')
env.reset()
for i in range(10):
    obs = env.step([1])
    env.render()
env.close()

给我这个错误

回溯(最近一次调用最后一次):
文件“test-pendulum.py”,行 27、在 env.render()
文件“/home/ruperty/anaconda3/envs/dev37/lib/python3.7/site-packages/gym/core.py”, 第 240 行,在渲染中 返回 self.env.render(mode,**kwargs)
文件“/home/ruperty/anaconda3/envs/dev37/lib/python3.7/site-packages/gym/envs/classic_control/pendulum.py”, 第 84 行,在渲染中 self.img = render.Image(fname,1.,1.)
文件“/home/ruperty/anaconda3/envs/dev37/lib/python3.7/site-packages/gym/envs/classic_control/rendering.py”, 第 327 行,在 init 中 img = pyglet.image.load(fname)
文件“/home/ruperty/anaconda3/envs/dev37/lib/python3.7/site-packages/pyglet/image/init.py”, 第 190 行,加载中 图像 = 解码器.解码(文件文件名)
文件“/home/ruperty/anaconda3/envs/dev37/lib/python3.7/site-packages/pyglet/image/codecs/pil.py”, 第 78 行,解码 image_data_fn = getattr(image,"tobytes",getattr(image,"tostring"))

AttributeError: 'Image' 对象没有属性 'tostring'

我打开了健身房窗口,但它无法正确渲染并且其中有一个黑色方形区域。

但是,CartPole-v1 环境运行良好。

此外,如果从 Windows 而不是 WSL/Ubuntu/XServer 运行,两种环境都可以正常呈现。

对如何解决有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)