zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JDBC---bai
    下拉列表---demo---bai
    智能提示框---bai
    国际化---demo1---bai
    自定义数据校验(4)---demo3---bai
    数据校验(3)--demo2---bai
    json概述
    redis持久化
    MyBatis中动态SQL语句完成多条件查询
    Jedis连接redis的一些基本操作
  • 原文地址:https://www.cnblogs.com/harbin-ho/p/14866864.html
Copyright © 2011-2022 走看看