ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)

摘要:
1.安装xvfbsudoapt-getinstallxvfbXvfb是流行的虚拟现实库,可以使很多需要图形界面的程序虚拟运行。

1. 安装xvfb

sudo apt-get install xvfb

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第1张

Xvfb是流行的虚拟现实库,可以使很多需要图形界面的程序虚拟运行。

2. 安装pyvirtualdisplay

pyvirtualdisplay 是Xvfb的 python 封装。

pip install pyvirtualdisplay

3. 在 Ubuntu 上安装OpenGL Library

sudo apt-get install libgl1-mesa-dev

4. 安装 python-opengl

sudo apt-get install python-opengl

注:

如果不安装 python-opengl 运行图形显示的应用时报错:

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第2张

测试代码:

from pyvirtualdisplay importDisplay
importgym

display = Display(visible=0, size=(1024, 768))
display.start()

env_id = "CartPole-v0"env =gym.make(env_id)

env.reset()
env.render()


display.stop()

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第3张

如果只是为了在服务器上把具有图像显示功能的程序跑起来的话那么上面的内容就可以了,但是一般需要使用在服务器上运行图像显示功能的应用一般都是运行爬虫和运维等需求,但是在机器学习中则是主要在使用open_ai下的gym来运行可以显示图像的应用,下面部分介绍使用jupyter notebook在web端播放openai的gym下保存的运行视频。(注意:本文中所介绍的所有功能和方法都不支持与服务器虚拟显示下图像界面进行交互的功能)

=====================================================

使用jupyter查看openai的gym下保存的运行视频:

1. 安装视频编解码工具 ffmpeg

sudo apt install ffmpeg

经过验证在Ubuntu18.04系统中使用系统安装ffmpeg容易报错,如下:

Unknown encoder 'libx264'的解决方法

https://blog.csdn.net/wmm3525/article/details/105792620

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第4张

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第5张

于是,使用conda 安装 ffmpeg :

conda install ffmpeg

conda uninstall ffmpeg

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第6张

测试代码:

from pyvirtualdisplay importDisplay
importgym

display = Display(visible=0, size=(1024, 768))
display.start()

env_id = "CartPole-v0"env =gym.make(env_id)
env = gym.wrappers.Monitor(env, "videos", force=True)

env.reset()

whileTrue:
    env.render()
    state, reward, end_flag, info =env.step(env.action_space.sample())
    print(state, reward, end_flag, info)
    if end_flag ==True:
        break

display.stop()

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第7张

成功运行,可以查看到保存的视频文件:

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第8张

2. 安装 ipython

pip install ipython

测试代码:

importbase64
importglob
importio
importos

from IPython.display importHTML, display


def ipython_show_video(path: str) ->None:
    """Show a video at `path` within IPython Notebook."""
    if notos.path.isfile(path):
        raise NameError("Cannot access: {}".format(path))

    video = io.open(path, "r+b").read()
    encoded =base64.b64encode(video)

    display(HTML(
        data="""<video alt="test" controls>
        <source src="data:video/mp4;base64,{0}" type="video/mp4"/>
        </video>
        """.format(encoded.decode("ascii"))
    ))


list_of_files = glob.glob("videos/*.mp4")
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)
ipython_show_video(latest_file)

备注:需要在测试文件所在文件夹下面建立 videos 文件夹,并且在videos文件夹下面需要有 mp4文件。

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第9张

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第10张

ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)第11张

免责声明:文章转载自《ubuntu18.04server服务器系统下为python安装虚拟显示器 (使用jupyter notebook在web端播放openai的gym下保存的运行视频——需安装ipython)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python psycopg2 连接pg 建立连接池IDA Pro使用技巧下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mac cocoapod安装过程

cocoapod: 自动化管理第三方开发包的一个插件, 废话不多说, 一个新手只需做如下几个步骤 1-> 安装ruby环境(可忽略, 不是必要)  1.1 首先我们先看看当前你机器上ruby的版本 ruby -v ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16] 1.2 接下来我们来...

开机自启:bat实现一次性打开win7中的常用软件和文件夹

需求说明: 我们电脑(windows)办公,经常上班前一开机,就要手动打开很多文件夹和程序。 想节省时间,一键打开常用的文件夹和程序,研究了一下bat命令,于是mystart.bat产生了。 mystart.bat的本质就是打开各种自定义的Windows应用程序的命令的集合,只要启动mystart.bat,就可以连续打开多个程序。 (一)操作 1、新建文件...

Windows: 在系统启动时运行程序、定时计划任务、定时关机

lesca今天介绍一些让系统在启动时,而非登录时,加载用户自定义的应用程序或脚本的方法,推荐度从前到后依次递减。 1. Windows任务计划(task scheduler) 用户可以按以下步骤进行操作,建立一个任务计划: 以管理员权限新建一个任务计划 在“任务”选项卡中输入待执行的命令,去掉“仅在登录后运行”的选项。该命令将以建立这个计划任务的用户的...

构建属于自己的恶意软件特征库

引自http://blog.sina.com.cn/s/blog_e8e60bc00102vjz9.html 感谢阿里云安全 的分享 0x00简介 最近研究了一些开源的杀毒引擎,总结了一下利用ClamAV(www.clamav.net)来打造属于自己的恶意软件分析特征库。特征库主要包括HASH匹配、文件内容特征库、逻辑特征库、二进制特征码(SHELLCOD...

egg内置对象

http://eggjs.org/zh-cn/basics/objects.html 目录 egg内置对象 1.1 Application 1.2 Context 1.3 Request and Response 1.4 Helper(扩展) 1.5 Config 1.6 Logger egg内置对象 框架内置基础对象:从 Koa 继承而来的...

局域网内手机访问电脑网站注意几点

一台Android手机和一台PC电脑,在同一个WiFi局域网内。PC上部署了IIS,可是Android手机无法访问PC上虚拟目录内的网页,如http://192.168.1.100/localhost/index.html(之前可以访问)。这可能是哪出了问题呢? 可能有以下几种可能:                              第一步,先用另...