Skip to content

Instantly share code, notes, and snippets.

@ven-kyoshiro
Created August 30, 2018 02:43
Show Gist options
  • Save ven-kyoshiro/7ea3a723ea2211dfc450060f563bc2ff to your computer and use it in GitHub Desktop.
Save ven-kyoshiro/7ea3a723ea2211dfc450060f563bc2ff to your computer and use it in GitHub Desktop.
gym_classic_error_in_server
import chainer
import chainer.functions as F
import chainer.links as L
import chainerrl
import gym
import numpy as np
# 描画用
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
from IPython import display
def show_state(env, step=0, info=""):
plt.figure(3)
plt.clf()
plt.imshow(env.render(mode='rgb_array'))
plt.title("Step: %d %s" % (step, info))
plt.axis('off')
env = gym.make('Acrobot-v1')
print('observation space:', env.observation_space)
print('action space:', env.action_space)
obs = env.reset()
show_state(env, step=0, info="")
print('initial observation:', obs)
action = env.action_space.sample()
obs, r, done, info = env.step(action)
print('next observation:', obs)
print('reward:', r)
print('done:', done)
print('info:', info)
@ven-kyoshiro
Copy link
Author

ven-kyoshiro commented Aug 30, 2018

Case1 : have to use xvfb

(myenv) i18-ven $ python gym_classic_error_in_server.py
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
observation space: Box(6,)
action space: Discrete(3)
Traceback (most recent call last):
  File "gym_classic_error_in_server.py", line 27, in <module>
    show_state(env, step=0, info="")
  File "gym_classic_error_in_server.py", line 17, in show_state
    plt.imshow(env.render(mode='rgb_array'))
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/core.py", line 284, in render
    return self.env.render(mode)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/envs/classic_control/acrobot.py", line 176, in render
    from gym.envs.classic_control import rendering
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/envs/classic_control/rendering.py", line 23, in <module>
    from pyglet.gl import *
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/__init__.py", line 238, in <module>
    import pyglet.window
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/__init__.py", line 1896, in <module>
    gl._create_shadow_window()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/__init__.py", line 208, in _create_shadow_window
    _shadow_window = Window(width=1, height=1, visible=False)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/xlib/__init__.py", line 166, in __init__
    super(XlibWindow, self).__init__(*args, **kwargs)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/__init__.py", line 501, in __init__
    display = get_platform().get_default_display()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/__init__.py", line 1845, in get_default_display
    return pyglet.canvas.get_display()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/canvas/__init__.py", line 82, in get_display
    return Display()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/canvas/xlib.py", line 86, in __init__
    raise NoSuchDisplayException('Cannot connect to "%s"' % name)
pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to "None"

@ven-kyoshiro
Copy link
Author

Case2 :

(myenv) i18-ven $ xvfb-run -s "-screen 0 1400x900x24" python gym_classic_error_in_server.py
xvfb-run: error: Xvfb failed to start

@ven-kyoshiro
Copy link
Author

Case3 :

(myenv) i18-ven $ xvfb-run -s "-screen 0 1400x900x24" -a python gym_classic_error_in_server.py
WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
observation space: Box(6,)
action space: Discrete(3)
Traceback (most recent call last):
  File "gym_classic_error_in_server.py", line 27, in <module>
    show_state(env, step=0, info="")
  File "gym_classic_error_in_server.py", line 17, in show_state
    plt.imshow(env.render(mode='rgb_array'))
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/core.py", line 284, in render
    return self.env.render(mode)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/envs/classic_control/acrobot.py", line 176, in render
    from gym.envs.classic_control import rendering
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/gym/envs/classic_control/rendering.py", line 23, in <module>
    from pyglet.gl import *
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/__init__.py", line 238, in <module>
    import pyglet.window
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/__init__.py", line 1896, in <module>
    gl._create_shadow_window()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/__init__.py", line 208, in _create_shadow_window
    _shadow_window = Window(width=1, height=1, visible=False)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/xlib/__init__.py", line 166, in __init__
    super(XlibWindow, self).__init__(*args, **kwargs)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/__init__.py", line 571, in __init__
    self._create()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/window/xlib/__init__.py", line 263, in _create
    self.context.attach(self.canvas)
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/xlib.py", line 323, in attach
    self.set_current()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/xlib.py", line 328, in set_current
    super(XlibContext13, self).set_current()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/base.py", line 301, in set_current
    gl_info.set_active_context()
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/gl_info.py", line 98, in set_active_context
    if self.have_version(3):
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/gl_info.py", line 170, in have_version
    imajor, iminor, irelease = [int(v) for v in ver.split('.', 3)[:3]]
  File "/home/i18_ven/.pyenv/versions/myenv/lib/python3.6/site-packages/pyglet/gl/gl_info.py", line 170, in <listcomp>
    imajor, iminor, irelease = [int(v) for v in ver.split('.', 3)[:3]]
ValueError: invalid literal for int() with base 10: ''

@ven-kyoshiro
Copy link
Author

case3 is fetal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment