原地址:https://blog.csdn.net/u013745804/article/details/78403353

gym wrappers用于将环境进行打包,我们可以使用这个模块来记录自己的算法在环境中的表现,并拍摄自己算法学习的视频,示例如下:

    import gymfrom gym import wrappersenv=gym.make('CartPole-v0')env=wrappers.Monitor(env,'/tmp/cartpole-experiment-1')for i_episode in range(20):observation=env.reset()for t in range(100):env.render()print(observation)action=env.action_space.sample()s,r,done,info=env.step(action)if done:print("Episode finished after {} timestep".format(t+1))break

其中我们仅仅比平时多了一个对env的封装wrappers.Monitor,便会在我们所指定的目录汇总记录我们算法的性能。我们可以直接看Monitor类的定义,从而加深对这个类的理解。查看指定目录:

可见,文件夹中包含了两种格式的文件,一种是.json文件格式,一种是.mp4格式文件。.mp4格式就不用多说,如果没有合适的视频查看器,那可以用浏览器打开。下面介绍一下.json格式文件。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使得JSON成为理想的数据交换语言,它易于阅读和编写,同时易于机器解析和生成。

JSON有两种基础结构:

1)”名称/值“对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。

2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

下面我们打开openaigym.episode_batch.0.15433.stats.json文件来看一下:

上面是我整理了之后的样子,因为它本身是所有数据都在一行的,所以截屏的话只能看见前面的数据,于是我就给它分行了。

从示例中可以看出JSON的两种基础数据结构,比如episode_types是名称,后面的["t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t","t"...]就是值的有序列表。

该文件中记录的是我们训练过程中的各种数据,此外,另外两个文件openaigym.manifest.0.15433.manifest.json和openaigym.video.0.15433.video000000.meta.json则分别如下图所示:

1)openaigym.manifest.0.15433.manifest.json:

2)openaigym.video.0.15433.video000000.meta.json:

了解完gym.wrappers.Monitor所记录的文件之后,我们继续考虑如何将这些结果上传到OpenAI Gym:

gym.upload('/tmp/cartpole-experiment-1',api_key='sk_Gmo4wYBhRoeJ9shfSS8hvg')

这样便将结果上传到了OpenAI Gym。不过upload函数现在暂时不能用了:

NotImplementedError,所以这样看来我们暂时是不能用upload功能将我们的代码上传到OpenAI Gym咯~。

但是我们可以看看以前用upload得到的结果:

[2017-05-11 00:11:13,592] [CartPole-v0] Uploading 20 episodes of training data
[2017-05-11 00:11:21,614] [CartPole-v0] Uploading videos of 3 training episodes (8459 bytes)
[2017-05-11 00:11:33,060] [CartPole-v0] Creating evaluation object from /tmp/cartpole-experiment-1 with learning curve and training video
[2017-05-11 00:11:33,669]
****************************************************
You successfully uploaded your evaluation on CartPole-v0 to
OpenAI Gym! You can find it at:https://gym.openai.com/evaluations/eval_mVPNxudETYOY9eCCwwWzw****************************************************

gym.wrappers介绍相关推荐

  1. 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例

    强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...

  2. 增强学习和OpeAI Gym的介绍:基础增强学习问题的演示

    编者注:想要深入学习增强学习,请查看Marcos Campos在2017年9月17 - 20日于旧金山举行的O'Reilly人工智能会议上所做的"增强学习介绍"辅导课.你可以在Ju ...

  3. RL gym 环境(1)—— 安装和基础使用

    gym 是 OpenAI 做的一套开源 RL 环境,在强化学习研究中使用非常广泛,贴一段 gym github 仓库的简介 Gym is an open source Python library f ...

  4. 强化学习(一)- 强化学习介绍、Markov决策过程和贝尔曼期望方程

    强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给 ...

  5. 强化学习环境库 Gym 发布首个社区发布版,全面兼容 Python 3.9

    作者:肖智清 来源:AI科技大本营 强化学习环境库Gym于2021年8月中旬迎来了首个社区志愿者维护的发布版Gym 0.19.该版本全面兼容Python 3.9,增加了多个新特性. 强化学习环境库的事 ...

  6. 解决使用Monitor出现gym.error.DependencyNotInstalled: Found neither the ffmpeg nor avconv executables的问题

    文章目录 前言 1. 问题描述 2. 问题原因 4. 解决方法 结束语 前言   本篇博客主要解决在win10上使用gym的Monitor监控器保存训练游戏的视频时出现的错误:gym.error.De ...

  7. 基于DQN强化学习训练一个超级玛丽

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Author:MyEncyclopedia From:MyEncy ...

  8. 【深度强化学习】DQN训练超级玛丽闯关

    上一期 MyEncyclopedia公众号文章 通过代码学Sutton强化学习:从Q-Learning 演化到 DQN,我们从原理上讲解了DQN算法,这一期,让我们通过代码来实现DQN 在任天堂经典的 ...

  9. ROS、OpenAI和Gazebo机器人与人工智能仿真与实践教研杂记(三)深度学习

    机器人在环境中如何自主行驶呢?不同的机器人需要配置不同参数,差速或者其他动力学模型,如何获得更好的环境参数? 关于ROS.OpenAI和Gazebo已经测试过环境包括: Ubuntu 16.04 + ...

最新文章

  1. HDU-3573 Buy Sticks
  2. 优秀产品经理(CEO)必须get的财税知识
  3. Shape Drawable Xml的background
  4. SQL优化笔记分享:34条实用经验可别错过
  5. Codeforces1019C
  6. Android通过Alpha实现渐变效果的几个方法
  7. 备考OCJP认证知识点总结(四)
  8. Nodejs 中文分词
  9. 常用的编程语言有哪些
  10. python如何计算等额本息还款_银行等额本息还款算法
  11. #1_《经典控制理论复习》摘录
  12. 联想电脑虚拟化开启方法
  13. 绿地再次牵手国际会展业巨头,加速打造会展板块
  14. SAP MM 根据采购订单反查采购申请?
  15. SICP读书笔记2---if和cond的区别
  16. 怀揣巨资等了一季 陈天桥距门户野心咫尺之遥
  17. 安装SQL Server2012时,Windows Installer无法访问的问题
  18. bugkuCTF——猫片(安恒)
  19. 华为云携手秒拍,云+AI助力短视频加速发展 1
  20. 蓝牙芯片|伦茨科技智能可穿戴设备芯片ST17H65

热门文章

  1. Unity中的MVC思想
  2. 【题解】AcWing 第71场周赛题解
  3. 弹出菜单TrackPopupMenu与Ctree结合
  4. 防止异地登录的解决思路
  5. 01 Dask源码剖析-Dask的数据模型-Delayed
  6. 微信公众平台开发之楼盘房产
  7. 爬取知乎高赞情话,甜蜜过七夕
  8. c语言中main函数是什么
  9. 商品点击量and销售量统计
  10. python中临时文件及文件夹使用