首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openai-gym经典控件在centos服务器上的渲染问题

openai-gym经典控件在centos服务器上的渲染问题
EN

Stack Overflow用户
提问于 2020-10-26 07:22:05
回答 1查看 346关注 0票数 0

我正在玩RL colab,它使用健身房的CartPole-v0。我通过连接到远程centOS 7.3服务器(而不是谷歌驱动器)的jupyter打开了iPython笔记本。下面的代码在google colab下正确地呈现了cartpole图,但在我的jupyter设置下却不正确:

代码语言:javascript
复制
!pip install gym[classic_control]
import gym
env = gym.make('CartPole-v0')
env.reset()
img = env.render('rgb_array')
plt.imshow(img)

下面是我如何开始我的jupyter笔记本的:

代码语言:javascript
复制
xvfb-run -a -s "-screen 0 1400x900x24" jupyter notebook

显然,渲染的图像有未初始化的维度或0维度。无论是否使用Jupyter,这都是正确的。

下面是完整的错误:

我在pyglet/image/__init__.py错误之前打印出了这一行

代码语言:javascript
复制
def get_image_data(self):
    # xxx = GLubyte * (len(self.format) * self.width * self.height)
    print(GLubyte, len(self.format), self.width, self.height)  # my code
    buffer = (GLubyte * (len(self.format) * self.width * self.height))()

结果要么是(4 0 0),要么是(4 1551512832 274094153),我从这两个值中推断出宽度和高度未初始化。但我对内部的理解还不够深入,无法进一步调试。在前一种情况下,MemoryError变成了错误,表示无法渲染大小为零的图像。

任何洞察力都是值得欣赏的。以下是一些相关的线程:

How to run OpenAI Gym .render() over a server

https://blog.csdn.net/chestnutss/article/details/100734523

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 07:59:24

我设法用以下一系列命令解决了环境问题:

代码语言:javascript
复制
sudo yum install python-xvfbwrapper.noarch
sudo yum install mesa-dri-drivers
sudo yum install xorg-devel libglu1-mesa libgl1-mesa-devel libxinerama1 libxcursor1
sudo yum install glxinfo
sudo yum -y install freeglut-devel

然后,以下呈现将在连接到服务器的jupyter浏览器笔记本中运行

代码语言:javascript
复制
import gym
import matplotlib.pyplot as plt

env = gym.make('CartPole-v0')
env.reset()
img = env.render('rgb_array')
plt.imshow(img)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64529815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档