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()

参考:https://www.jianshu.com/p/3e96dc04d005

以上是关于jupyter lab中显示gym的游戏动图的主要内容,如果未能解决你的问题,请参考以下文章

jupyter-lab 中未显示动画绘图表达图

Pyechart在Jupyter Lab下无法正确显示图形的问题

在 Jupyter Lab 单元格中显示 Pyvis HTML 时出错

Plotly express 不在 jupyter lab 中渲染

jupyter lab最强代码补全插件

当本地模块中的代码发生更改时,我是不是总是必须在 Jupyter Lab 中重新启动内核?