千家信息网

怎么在Windows上安装和渲染OpenAI-Gym

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了怎么在Windows上安装和渲染OpenAI-Gym,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。OpenAI Gy
千家信息网最后更新 2025年02月01日怎么在Windows上安装和渲染OpenAI-Gym

这篇文章主要介绍了怎么在Windows上安装和渲染OpenAI-Gym,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

OpenAI Gym是学习和开发强化学习算法的好地方。它提供了许多有趣的游戏(所谓的"环境"),你可以将自己的策略用于测试。例如,它有一些简单的游戏,例如在小推车上平衡垂直杆(" CartPole-v1"),将钟摆摆到直立位置(" Pendulum-v0"),以及一些经典的电子游戏,例如Space Invader 和Pin Ball。

然而,gym是设计在Linux上运行的。尽管它可以使用Conda或PIP安装在Windows上,但它不能在Windows上显示,因为它的呈现是在基于Linux的包PyVirtualDisplay上响应的。因此,在Windows上玩OpenAI Gym很不方便。

那么Windows用户是如何可视化gym呢?

一个简单的解决方案是使用谷歌Colab。它可以通过web浏览器访问,而且大多数包都已经正确设置好了。但是Colab也有缺点:

  1. 频繁的会话超时和断开连接。您的会话可能在餐后超时,您的所有数据将丢失。

  2. 机器配置不高。就连我的戴尔XPS笔记本电脑在许多神经网络模型上的运行速度也比免费的Colab电脑快两倍。如果你已经有一台不错的机器,为什么不使用它呢?

  3. 安装本地驱动器不方便。每次你开始一个会话的时候都需要这样做。

安装Linux / Windows双启动是最干净的解决方案。但是,如果您只是想不时进行一些编码,那么设置一个完整的操作系统似乎是一个过大的选择。安装Linux VM所需的精力要少于双重引导,但仍然需要大量的精力来设置整个虚拟系统,以及解决潜在的兼容性问题,解决库和程序包依赖性等。使用docker映像应该很容易,但是通过docker hub上快速搜索生成的映像无法在我的计算机上运行。另一个github上的代码仅具有"实验性" Windows支持,并且需要从源代码构建看似复杂的Docker映像。众所周知,在另一个操作系统上从源代码构建远非直截了当。

Genevieve Hayes[3]在这篇文章中详细描述了一个纯Windows解决方案。它结合使用Visual Studio、Conda、Pip和Xming。这不是一个简短的步骤列表。我一步一步地遵循这些步骤,但仍然无法构建atari-py和box2d。此外,我有点担心Windows原生解决方案将来可能需要一些源代码修改。

在评估了许多选项之后,我最终自己构建了一个极简的docker映像。这远没有听起来那么难。但如果你想跳过设置环境的工作,你可以通过以下三个简单的步骤直接享受Gym:

下载并安装Docker

从Dock拉出我的docker映像:

 docker pull jxu305/openai_gym_docker:v1.0

从命令行运行docker映像(如果您愿意,可以挂载您喜欢的文件)

 docker run -p :8888 -it -v : jxu305/openai_gym_docker:v1.0

或者只是从Docker桌面GUI启动

为了测试方便,我在图片中添加了一个小notebook 来测试渲染示例环境:Cart Pole v1、Mountain Car v0、Pendulum v0、Lunar Lander v2、Space Invaders v0和Car Racing v0。

如果你对如何制作这个docker感兴趣,请继续阅读。这其实很简单,你所需要的是一个少于30行的Dockerfile。在这里,我将逐步介绍Dockerfile。

首先,为了避免从头开始建造,我从jupyter notebook环境开始建造。由于Geron的机器学习书籍使用tensorflow,我决定在jupyter/tensorflow-notebook图像的基础上进行构建。

 FROM jupyter/tensorflow-notebook

接下来,安装呈现环境所需的一些库。

 USER root
RUN apt-get update -y && \
apt-get install -y xvfb && \
apt-get install -y python-opengl

然后安装OpenAI-gym,以及PyVirtualDisplay。

 USER ${NB_USER}
RUN pip install gym pyvirtualdisplay

仅此而已。有了这几行代码,你就可以运行和渲染

我在Dockerfile中添加了几行代码,以支持一些需要Box2D, Toy Text,和雅达利的环境。例如,经典的月球着陆器和太空入侵者环境。

 RUN apt-get install -y cmake && \
apt-get install -y zlib1g zlib1g-dev

RUN conda install swig
RUN pip install box2d-py atari_py pystan

最后两行只是为了测试方便,将一些文件复制到图像中。

 COPY ./example/env_render.ipynb /home/${NB_USER}/env_render.ipynb
COPY ./example/18_reinforcement_learning.ipynb /home/${NB_USER}/18_reinforcement_learning.ipynb

这就是Dockerfile的全部内容。构建这个简单的docker也很容易,只需在命令行中运行以下命令:

 $ docker build -t : .

恭喜你!你只要建立你自己的OpenAI-gym docker!现在你可以用Docker桌面启动它并开始你的代码。

感谢你能够认真阅读完这篇文章,希望小编分享的"怎么在Windows上安装和渲染OpenAI-Gym"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

环境 映像 运行 篇文章 代码 方案 解决方案 学习 测试 命令 机器 步骤 源代码 系统 支持 操作系统 兴趣 只是 可以通过 图像 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 甲方软件开发需求并发量 软件开发五年了怎么做 搞软件开发好累 适合在学校的软件开发 校园网络安全知识主题班会 软件开发费要记入哪个科目 网络安全法执法统计和分析 达芬奇为数据库建立新的文件夹 计算机网络技术需要背什么 中学身网络安全有哪些故事 数据库跨数据库关联 关系型数据库产品经理需要学吗 公司对网络安全员有什么要求 德州网络机顶盒时间服务器 招聘软件开发的求职信 数据库上机实验报告的实验总结 各大银行软件开发中心待遇 如何输入网络安全密钥电脑 城市搜索软件开发 图书馆管理系统数据库结构 基因数据库哪些类型 sql差异数据库备份命令 2.17网络安全知识竞赛 微信餐饮公众号推广软件开发 服务器核心数 数据库中并发的定义 科技和互联网科技 网络技术有限公司被举报案件 golang游戏服务器安全 python从数据库取值
0