前提・実現したいこと
Alphazeroの参考書(詳細は補足情報参照)で、以下のコードを、google colabで実行したところ、以下のエラーメッセージが発生しました。どうすれば正しく実行できるか教えていただきたいです。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last) <ipython-input-11-9f566a3486e1> in <module>() 8 step += 1 9 ---> 10 frames.append(env.render(mode='rgb_array')) 11 12 action = np.argmax(main_qn.model.predict(state)[0]) 2 frames /usr/local/lib/python3.6/dist-packages/gym/envs/classic_control/rendering.py in render(self, return_rgb_array) 113 buffer = pyglet.image.get_buffer_manager().get_color_buffer() 114 image_data = buffer.get_image_data() --> 115 arr = np.frombuffer(image_data.get_data(), dtype=np.uint8) 116 # In https://github.com/openai/gym-http-api/issues/2, we 117 # discovered that someone using Xmonad on Arch was having TypeError: get_data() missing 2 required positional arguments: 'format' and 'pitch
該当のソースコード
frames = [] state = env.reset() state = np.reshape(state, [1, state_size]) step = 0 for step in range(1, MAX_STEPS+1): step += 1 frames.append(env.render(mode='rgb_array')) action = np.argmax(main_qn.model.predict(state)[0]) next_state, reward, done, _ = env.step(action) next_state = np.reshape(next_state, [1, state_size]) if done: next_state = np.zeros(state.shape) break else: state = next_state print('ステップ数: {}'.format(step))
ランタイムの再接続,および、tensorflowのバージョンを、参考書が使っていた1.13.1で試したがうまくいかなかった。
補足情報(FW/ツールのバージョンなど)
参考書名は「AlphaZero 深層学習 強化学習 探索 人口プログラミング実践入門」で、p.170の部分です。
また、以下のように、OpenAI Gymを使うための準備を行ってから実行しています。
!apt-get -qq -y install xvfb freeglut3-dev ffmpeg> /dev/null
!pip install pyglet==1.3.2
!pip install pyopengl
!pip install pyvirtualdisplay
from pyvirtualdisplay import Display
import os
disp = Display(visible=0, size=(1024, 768))
disp.start()
os.environ['DISPLAY'] = ':' + str(disp.display) + '.' + str(disp.screen)
なお、最後の行は、ほかのネットの記事などで調べたところ、コメントアウトしないとエラーになり、コメントアウトすれば問題なく、実行できると書かれていたので、コメントアウトして実行しました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/14 04:31
2020/07/14 04:35
2020/07/15 06:54
2020/07/15 07:24