以下のコードを機能させようとしています。
import gym
env = gym.make("CartPole-v0")
env.reset()
env.render()
最初の3行を実行しても問題はありませんが、4行目を実行するとエラーが発生します。
Traceback (most recent call last):
File "<ipython-input-3-a692a1a1ffe7>", line 1, in <module>
env.render()
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/core.py", line 286, in _render
return self.env.render(mode, close)
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/envs/classic_control/cartpole.py", line 116, in _render
self.viewer = rendering.Viewer(screen_width, screen_height)
File "/home/mikedoho/gym/gym/envs/classic_control/rendering.py", line 51, in __init__
self.window = pyglet.window.Window(width=width, height=height, display=display)
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/window/__init__.py", line 504, in __init__
screen = display.get_default_screen()
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 73, in get_default_screen
return self.get_screens()[0]
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 65, in get_screens
raise NotImplementedError('abstract')
NotImplementedError: abstract
カートをポールに載せて、新しいウィンドウに表示したいと思っていました。
このエラーはSpyderのコードによるものです。私はubuntu 16.04を使用しています。 python 3.6.3; IPython 6.1.0。jupyter Notebookを使用しても運が悪い。
改めてお詫び申し上げます。これは、今日ダウンロードしたばかりのUbuntuで非常に新しいものです。
10分前のように、私はこれを解決しました(バグ?):D
Pyglet 3をpyglet 1.2.4にダウングレードする必要があります。アナコンダプロンプトに_pip install pyglet==1.2.4
_と入力します。その後、スパイダーIDEを再起動する必要がある場合があります。
コードにenv.close()
を追加します。そうしないと、ウィンドウを閉じるときに問題が発生します。
python/ML/DLが初めての場合は、youtubeの「sentdex」をご覧ください。まず、イモは非常に良いコンテンツです。 (彼はジムのチュートリアルでTFlearnを使用しています)しかし、tensorflow 1.4にはKerasが含まれているため、ニューラルネットワークにはkeras high lvl APIを使用することをお勧めします。
幸運を祈ります
誰かがgoodジムのドキュメントを持っている場合は、自由に共有してください。