jupyter lab中显示gym的游戏动图
Posted hoho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jupyter lab中显示gym的游戏动图相关的知识,希望对你有一定的参考价值。
gym包在服务器使用无法可视化,会大大影响其使用的便捷性。可以在训练时禁止显示,测试时使用jupyter进行可视化,可以大大提高训练效率和结果的可视化。
训练时,会屏蔽代码env.render()
禁止显示游戏画面,
测试时,使用下面方法将使用matplotlib来进行游戏画面的可视化。
在服务器中安装Xvfb库:sudo apt install Xvfb
随后启动xvfb-run -s "-screen 0 1400x900x24" jupyter lab --no-browser
然后在jupyter中加入代码:
import matplotlib.pyplot as plt
%matplotlib inline
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\')
display.clear_output(wait=True)
display.display(plt.gcf())
整体实例代码如下:
import matplotlib.pyplot as plt
import gym
%matplotlib inline
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\')
display.clear_output(wait=True)
display.display(plt.gcf())
env = gym.make("CartPole-v1")
observation = env.reset()
for _ in range(1000):
# env.render()
action = env.action_space.sample() # your agent here (this takes random actions)
observation, reward, done, info = env.step(action)
show_state(env, action, info)
if done:
observation = env.reset()
env.close()
以上是关于jupyter lab中显示gym的游戏动图的主要内容,如果未能解决你的问题,请参考以下文章
Pyechart在Jupyter Lab下无法正确显示图形的问题
在 Jupyter Lab 单元格中显示 Pyvis HTML 时出错