How can I properly run OpenAI gym with nvidia-docker and see the environments
Asked Answered
R

0

7

So I'm trying set run OpenAI gym in a docker container, but it looks like this: enter image description here

Notice the pong window has a weird render issue where it's repeating things and the colors are off. Here is space invaders:

enter image description here

NOTE FOR "NOT A PROGRAMMING ISSUE" PEOPLE: The solution involves the correct bash script code to call the right API methods to render the arrays of pixels correctly. Also only a graphics programmer is likely to "recognize the render glitch".

My setup is very simple. - I'm on a local ubuntu 16.04 install with an Nvidia gtx1060 and corei7 - I installed nvida runfile driver with --no-opengl-files (as per instructions from Nvidia and many place). - Specifically, I'm running floydhub/pytorch docker image.

Does anyone recognize the particular render glitch and what it could mean? It almost looks like a StackOverflow of a frame buffer! What can I do to track down the bug?

EDIT: I have eliminated all the extra dependencies I had been installing and am just doing simple x-forwarding according to the ROS GUI guide.

You can easily reproduce this as follows:

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

Now in the image, type python and then the following:

import gym
gym.make('Pong-v0').render()

That should open up an x-forwarded window on your machine, but the display is corrupt (at least for me)

image

Above I actually used SpaceInvaders-v0

Rafflesia answered 3/8, 2017 at 5:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.