Jupyter notebook openai gym classic控制centos服务器上的渲染问题

Jupyter notebook openai gym classic控制centos服务器上的渲染问题,jupyter-notebook,openai-gym,Jupyter Notebook,Openai Gym,我正在和使用健身房CartPole-v0的RL colab玩。我通过连接到远程centOS 7.3服务器(不是google drive)的jupyter打开了iPython笔记本。以下代码在google colab下正确呈现cartpole图,但在我的jupyter设置中没有: !pip install gym[classic_control] import gym env = gym.make('CartPole-v0') env.reset() img = env.render('rgb_a

我正在和使用健身房CartPole-v0的RL colab玩。我通过连接到远程centOS 7.3服务器(不是google drive)的jupyter打开了iPython笔记本。以下代码在google colab下正确呈现cartpole图,但在我的jupyter设置中没有:

!pip install gym[classic_control]
import gym
env = gym.make('CartPole-v0')
env.reset()
img = env.render('rgb_array')
plt.imshow(img)
以下是我如何开始我的jupyter笔记本:

xvfb-run -a -s "-screen 0 1400x900x24" jupyter notebook
显然,渲染图像具有未初始化维度或0维度。无论是否使用Jupyter,都是如此

以下是全部错误:

我在
pyglet/image/\uuuu init\uuuuuu.py

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变成了一个错误,表示无法渲染大小为零的图像

任何见解都值得赞赏。以下是一些相关的线程:


我通过以下一系列命令解决了环境问题:

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浏览器笔记本中工作

import gym
import matplotlib.pyplot as plt

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