首页 > 其他 > 详细

jupyter lab中显示gym的游戏动图

时间:2021-06-09 18:02:18      阅读:26      评论:0      收藏:0      [点我收藏+]

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的游戏动图

原文:https://www.cnblogs.com/harbin-ho/p/14866864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!