Q&A
OpenAI Gymを使って強化学習の勉強を始めたのですがサンプルコードの部分でつまずいてしましました。
良ければ助言をいただきたいです。よろしくお願いします。
###発生している問題・エラーメッセージ
NotImplementedError Traceback (most recent call last)
<ipython-input-32-3093026983cb> in <module>()
4 observation = env.reset()
5 for t in range(100):
----> 6 env.render()
7 print(observation)
8 action = env.action_space.sample()
~\Anaconda3\lib\site-packages\gym\core.py in render(self, mode, close)
148 elif mode not in modes:
149 raise error.UnsupportedMode('Unsupported rendering mode: {}. (Supported modes for {}: {})'.format(mode, self, modes))
--> 150 return self._render(mode=mode, close=close)
151
152 def close(self):
~\Anaconda3\lib\site-packages\gym\core.py in _render(self, mode, close)
284
285 def _render(self, mode='human', close=False):
--> 286 return self.env.render(mode, close)
287
288 def _close(self):
~\Anaconda3\lib\site-packages\gym\core.py in render(self, mode, close)
148 elif mode not in modes:
149 raise error.UnsupportedMode('Unsupported rendering mode: {}. (Supported modes for {}: {})'.format(mode, self, modes))
--> 150 return self._render(mode=mode, close=close)
151
152 def close(self):
~\Anaconda3\lib\site-packages\gym\envs\classic_control\cartpole.py in _render(self, mode, close)
114 if self.viewer is None:
115 from gym.envs.classic_control import rendering
--> 116 self.viewer = rendering.Viewer(screen_width, screen_height)
117 l,r,t,b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2
118 axleoffset =cartheight/4.0
~\Anaconda3\lib\site-packages\gym\envs\classic_control\rendering.py in init(self, width, height, display)
49 self.width = width
50 self.height = height
---> 51 self.window = pyglet.window.Window(width=width, height=height, display=display)
52 self.window.on_close = self.window_closed_by_user
53 self.geoms = []
~\Anaconda3\lib\site-packages\pyglet\window_init_.py in init(self, width, height, caption, resizable, style, fullscreen, visible, vsync, display, screen, config, context, mode)
502
503 if not screen:
--> 504 screen = display.get_default_screen()
505
506 if not config:
~\Anaconda3\lib\site-packages\pyglet\canvas\base.py in get_default_screen(self)
71 :rtype: :class:Screen
72 '''
---> 73 return self.get_screens()[0]
74
75 def get_windows(self):
~\Anaconda3\lib\site-packages\pyglet\canvas\base.py in get_screens(self)
63 :rtype: list of :class:Screen
64 '''
---> 65 raise NotImplementedError('abstract')
66
67 def get_default_screen(self):
NotImplementedError: abstract
###該当のソースコード
import gym
env = gym.make('CartPole-v0')
for i_episode in range(20):
observation = env.reset()
for t in range(100):
env.render()
print(observation)
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
print("Episode finished after {} timesteps".format(t+1))
break
###試したこと
env.render()をenv.render(close = True)にするとエラーは出ないのですが、これをすると結果が描写されないので解決にはなっていないと思われます。
###補足情報(言語/FW/ツール等のバージョンなど)
python3でjupyterを使っています。
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/12/08 03:26
2017/12/08 03:59
2017/12/08 04:30
2017/12/08 04:44
2017/12/08 05:16 編集
2017/12/08 05:37
2017/12/08 06:08