上篇博客介绍了OpenAI Gym、OpenAI Gym与强化学习以及OpenAI Gym的安装,接下来运行一个demo体验一下OpenAI Gym这个平台,以CartPole(倒立摆)为例,在工作目录下建立一个python模块,代码如下:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):env.render()env.step(env.action_space.sample()) # take a random action
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其中env.reset()重置环境的状态,、env.render()重绘环境的一帧 
 
由动画结果可以看出随机控制算法发散,系统很快失去稳定。如果想查看其他一些环境,请尝试用MountainCar-v0,MsPacman-v0(需要Atari依赖关系)或Hopper-v1(需要MuJoCo依赖项)替换上述CartPole-v0,这些环境都来自Env基类。

最近在学习强化学习,在师兄的推荐下,自学了一款用于研发和比较强化学习算法的工具包——OpenAI Gym,它支持训练智能体(agent)做任何事——从行走到玩Pong或围棋之类的游戏都在范围中。

OpenAI Gym 是一个用于开发和比较RL 算法的工具包,与其他的数值计算库兼容,如tensorflow 或者theano 库。现在主要支持的是python 语言,以后将支持其他语言。官方提供的gym文档。

1.OpenAI Gym组成

Openai gym 包含2 部:

  • gym 开源 
    包含一个测试问题集,每个问题成为环境(environment),可以用于自己的强化学习算法开发,这些环境有共享的接口,允许用户设计通用的 
    算法,例如:Atari、CartPole等。
  • OpenAI Gym 服务 
    提供一个站点和api ,允许用户对他们训练的算法进行性能比较。

2.强化学习与OpenAI Gym

强化学习(reinforcement learning,RL)是机器学习的一个分支,考虑的是做出一系列的决策。它假定有一个智能体(agent)存在于环境中。在每一步中,智能体(agent)采取一个行动,随后从环境中收到观察与回报。一个RL算法寻求的是,在一个原先毫无了解的环境中通过一段学习过程——通常包括许多试错——让智能体(agent)收到的总体回报最大化。 
 
在强化学习中有2 个基本概念,一个是环境(environment),称为外部世界,另一个为智能体agent(写的算法)。agent 发送action 至environment,environment返回观察和回报。而OpenAI Gym 的核心接口是Env,作为统一的环境接口。Env 包含以下核心方法:

  • env.reset(self):重置环境的状态,返回观察
  • env.step(self,action):推进一个时间步长,返回observation,reward,done,info
  • env.render(self,mode=’human’,close=False):重绘环境的一帧。默认模式一般比较友好,如弹出一个窗口

3.OpenAI Gym安装

  • 安装依赖包
$  apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
  • 1
  • git安装
$  git clone https://github.com/openai/gym
$  cd gym
$  pip install -e . # minimal install
or
$  pip install -e .[all] # full install (this requires cmake and a recent pip version)
  • 1
  • 2
  • 3
  • 4
  • 5
  • pip安装
$  pip install gym #minimal install
or
$  pip install gym[all] #full install, fetch gym as a package
上篇博客介绍了OpenAI Gym、OpenAI Gym与强化学习以及OpenAI Gym的安装,接下来运行一个demo体验一下OpenAI Gym这个平台,以CartPole(倒立摆)为例,在工作目录下建立一个python模块,代码如下:
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):env.render()env.step(env.action_space.sample()) # take a random action
其中env.reset()重置环境的状态,、env.render()重绘环境的一帧  由动画结果可以看出随机控制算法发散,系统很快失去稳定。如果想查看其他一些环境,请尝试用MountainCar-v0,MsPacman-v0(需要Atari依赖关系)或Hopper-v1(需要MuJoCo依赖项)替换上述CartPole-v0,这些环境都来自Env基类。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

OpenAI Gym介绍相关推荐

  1. 强化学习(一)——专业术语及OpenAI Gym介绍

    强化学习(一)--专业术语及OpenAI Gym介绍 1. 专业术语 1.1 Agent(智能体) 1.2 Environment(环境) 1.3 State *s*(状态) 1.4 Action * ...

  2. 独家 | 使用Python的OpenAI Gym对Deep Q-Learning的实操介绍(附学习资源)

    作者:ANKIT CHOUDHARY 翻译:张睿毅 校对:吴金笛 本文4300字,建议阅读10+分钟. 本文作者通过实战介绍了Deep Q-Learning的概念. 导言 我一直对游戏着迷.在紧凑的时 ...

  3. [环境] OpenAI gym经典控制环境CartPole-v0 介绍

    [环境]CartPole-v0 聊一聊我对强化学习的理解 对应的代码请访问我的GitHub:fxyang-bupt(可能你进去之后发现什么都没有,那是因为我注册了新的账号还在整理,这并不影响你先fol ...

  4. OpenAI Gym 经典控制环境介绍——CartPole(倒立摆)

    摘要:OpenAI Gym是一款用于研发和比较强化学习算法的工具包,本文主要介绍Gym仿真环境的功能和工具包的使用方法,并详细介绍其中的经典控制问题中的倒立摆(CartPole-v0/1)问题.最后针 ...

  5. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  6. 常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2) 标签: 强化学习OpenAI GymMuJoCoStarCra ...

  7. 强化学习:使用OpenAI Gym Toolkit进行蒙特卡洛学习简介

    Introduction 当你听到"强化学习"这个词时,你首先想到的是什么? 最常见的想法是 - 太复杂而且数学太多. 但我在此向您保证,这是一个非常迷人的研究领域 - 我的目标是 ...

  8. 第22天:如何使用OpenAI Gym和Universe构建AI游戏机器人

    by Harini Janakiraman 通过哈里尼·贾纳基拉曼 第22天:如何使用OpenAI Gym和Universe构建AI游戏机器人 (Day 22: How to build an AI ...

  9. dqn在训练过程中loss越来越大_强化学习笔记:OpenAI Gym+DQN+Tensorflow2实现

    参考了一些文章,针对OpenAI gym环境,使用tf2.x实现了DQN算法:加上了一些没有太大必要(?)的小功能,比如:自动保存视频,保存训练日志从而利用TensorBoard实现数据可视化,保存和 ...

最新文章

  1. SQL Server 2005 命令行实用工具
  2. c语言程序-hello world-运行原理简介
  3. 微服务架构与领域驱动设计应用实践
  4. C++ Primer 5th笔记(7)chapter7 类:字面值常量类
  5. 队列与环形队列使用数组模拟
  6. [渝粤教育] 广东-国家-开放大学 21秋期末考试财务会计(二)10165k2
  7. RH124 Chapter 2 Managing Files From the Command Line
  8. DolphinScheduler大数据调度系统
  9. 微信群接口(开发思路)
  10. elememt ui 组件 dialog使用备忘
  11. LDAP学习小结【仅原理和基础篇】
  12. 揭秘seo快排原理,seo快排流量
  13. 双系统安装deepin20_win10+deepin双系统安装方法(UEFI+GPT)
  14. Java 双色球和简单酒店管理系统
  15. 一本专门学习PyQt5 GUI 的编程书
  16. 深度优先搜索和广度优先搜索
  17. 不软的科幻——源代码浅析
  18. 意外收到快钱送的现金了
  19. VisualDrag低代码拖拽模板
  20. 优化版本的Json Viewer工具

热门文章

  1. 无法访问linux mysql_远程无法访问linux Mysql解决方案(转)
  2. 三星笔记本桌面计算机图标消失,重启电脑我的电脑图标不见了怎么处理
  3. webpack打包缓存_【第835期】Webpack 的静态资源持久缓存
  4. php正则匹配多个,php – 将多个匹配正则表达式合并为一个并获得匹配的表达式...
  5. centos7配置br0_centos 7.2 网卡配置文件 及 linux bridge的静态配置
  6. Linux服务器优化(转)
  7. PHP学习总结(7)——PHP入门篇之PHP注释
  8. LVM学习之LVM基础
  9. bootsrap学习
  10. 25%的游戏通过Steam支持Linux系统