因此,我尝试在 docker 容器中运行 OpenAI gym,但它看起来像这样:
请注意,pong 窗口有一个奇怪的渲染问题,它会重复一些事情,而且颜色也会消失。(事实上,如果你查看 env.reset() 返回的数组,你就可以看到像素值,所以问题出在渲染上,而不是 x-forwarding 上。这里是太空入侵者:
我的设置非常简单。 - 我在本地安装了 ubuntu 16.04,带有 Nvidia gtx1060 和 corei7 - 我安装了带有 --no-opengl-files 的 nvida runfile 驱动程序(按照 Nvidia 和许多地方的说明)。 - 具体来说,我正在运行 floydhub/pytorch docker 镜像。
有人知道这个特定的渲染故障以及它可能意味着什么吗?它看起来几乎就像帧缓冲区的 StackOverflow!我该怎么做才能找到这个错误?
您可以轻松地重现此过程,如下所示:
docker run -it --user=$(id -u) --env="DISPLAY" --workdir="/home/$USER" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" floydhub/pytorch:0.1.11-gpu-py3.6 bash
现在在图像中输入python
以下内容:
import gym
gym.make('Pong-v0').render()
这应该会在你的机器上打开一个 x-forwarded 窗口,但显示已损坏(至少对我来说)
上面我实际使用的是 SpaceInvaders-v0