使用gym中的录制功能,报错,具体:

>>> import gym

>>> gym.wrappers.Monitor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'gym.wrappers' has no attribute 'Monitor'

经过网上查询知道在gym的0.21以上版本API进行了更改,gym.wrappers.Monitor由

gym.wrappers.RecordVideo 和 gym.wrappers.RecordEpisodeStatistics 所替代:

注意,使用之前需要安装依赖:

pip install moviepy

import gym
env = gym.make("BipedalWalker-v3",render_mode = 'human') env = gym.wrappers.RecordEpisodeStatistics(env)
env = gym.wrappers.RecordVideo(env, f"videos/{gym.__version__}")

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

关于gym.wrappers.RecordEpisodeStatistics的帮助文档:

class RecordEpisodeStatistics(gym.core.Wrapper)
 |  RecordEpisodeStatistics(*args, **kwds)
 |  
 |  This wrapper will keep track of cumulative rewards and episode lengths.
 |  
 |  At the end of an episode, the statistics of the episode will be added to ``info``
 |  using the key ``episode``. If using a vectorized environment also the key
 |  ``_episode`` is used which indicates whether the env at the respective index has
 |  the episode statistics.
 |  
 |  After the completion of an episode, ``info`` will look like this::
 |  
 |      >>> info = {
 |      ...     ...
 |      ...     "episode": {
 |      ...         "r": "<cumulative reward>",
 |      ...         "l": "<episode length>",
 |      ...         "t": "<elapsed time since instantiation of wrapper>"
 |      ...     },
 |      ... }
 |  
 |  For a vectorized environments the output will be in the form of::
 |  
 |      >>> infos = {
 |      ...     ...
 |      ...     "episode": {
 |      ...         "r": "<array of cumulative reward>",
 |      ...         "l": "<array of episode length>",
 |      ...         "t": "<array of elapsed time since instantiation of wrapper>"
 |      ...     },
 |      ...     "_episode": "<boolean array of length num-envs>"
 |      ... }
 |  
 |  Moreover, the most recent rewards and episode lengths are stored in buffers that can be accessed via
 |  :attr:`wrapped_env.return_queue` and :attr:`wrapped_env.length_queue` respectively.

可以看到,gym.wrappers.RecordEpisodeStatistics 在运行过程中进行统计然后在info中进行显示,这样的操作会占用一定的计算资源,如果没有必要使用则不需要使用。

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

参考:

https://zhuanlan.zhihu.com/p/569710619

gym.wrappers.Monitor报错,无法使用的更多相关文章

  1. 启动android monitor报错解决办法

    再这汇总一下这段时间使用android monitor新遇到的问题,特汇总对应问题解决办法如下: 1.确保JDK和Android studio位数相同,比如JDK使用的是64位,studio也要是64 ...

  2. 烂泥:【解决】ubuntu使用远程NFS报错

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 今天在ubuntu系统上使用远程NFS,发现一直报错无法使用. 查看NFS挂载命令没有错误,命令如下: mount -t nfs 192.168.1.1 ...

  3. (转) 关于Oracle EBS邮件服务无法使用的报错

    来源http://blog.itpub.net/23850820/viewspace-1060596/ 也可以检查如下网站:http://blog.sina.com.cn/s/blog_5b021b4 ...

  4. LoadRunner监控windows资源报错Monitor name :Windows Resources. Cannot connect to machine

    目标机:被监控的机器,windows server 2008 R2. 测试机:执行control的机器,windows7 操作:在测试机上执行Control,添加windows的监控 问题现象:Mon ...

  5. ORA-15025 搭建DG环境,restore controlfile报错,提示oracle无法使用ASM存储

    环境说明: #主库RAC环境 #备库RAC环境,操作系统AIX 6.1 数据库版本11.2.0.3 报错说明: #主库备份控制文件,传输至备库,备库restore 报错 本篇文档,分为两大阶段:第一阶 ...

  6. Django_重装系统后无法使用 sqlite 数据库报错:com.intellij.execution.ExecutionException: Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC

     重装系统后无法使用 sqlite 数据库报错 报错 : com.intellij.execution.ExecutionException: Exception in thread "ma ...

  7. Apache报错:无法使用可靠的服务器域名

    Apache 安装和启动时报错:无法使用可靠的服务器域名,打开Apache配置文件httpd.conf,去除 ServerName 前面的注释即可 1. 报错信息:无法使用可靠的服务器域名 AH005 ...

  8. 关于android sdk中monitor.exe报错的问题

    今天又是被坑的一上午.来总结一下: 1. 首先是找不到monitor的问题: 这个可能是一开始环境配置错误.所以我将android sdk重装了一下就好了 2. 第二个是找到monitor.bat发现 ...

  9. Kvm:启动报错:error: internal error: process exited while connecting to monitor: 2018-11-12T01:47:14.993371Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory

    今天有台kvm挂了,物理机启动时报错 很明显看报错显示内存不足,无法分配内存,查看物理机内存使用正常,.xml修改虚机内存后启动依然报错 报错: 这时候需要看一下主机确保可以分配多少内存 sysctl ...

  10. 发布报错:Error ITMS-90635 - Invalid Mach-O in bundle - submitting to App store

    发布报错:Error ITMS-90635 - Invalid Mach-O in bundle - submitting to App store 昨晚上传项目到AppStore,报了这个错,纳尼! ...

随机推荐

  1. 自建yum源

    自定义yum本地仓库 你不需要依赖外网的yum仓库,可能导致该仓库无法访问,下载软件失败.. 大公司,会自建yum仓库 防止出现网络问题,自建了yum仓库,本地yum仓库 你可以去阿里云上,部署一个在 ...

  2. MySQL BETWEEN AND包含边界值

    select count(1) from table_a where my_date between '20230715' and '20230717'; 上面的SQL我们发现只统计了20230715 ...

  3. 跨域iframe 配置fullscreen权限

    在新版本的 Chrome 等浏览器中,默认情况下禁止了跨域 iframe 开启全屏的权限.在 iframe 中,我们通常使用 element.requestFullscreen() 方法来进行全屏展示 ...

  4. golang reflect 反射机制的使用场景

    Go语言中的 reflect 包提供了运行时反射机制,允许程序在运行时检查和操作任意对象的数据类型和值. 以下是 reflect 包的一些典型使用场景: 1. 动态类型判断与转换:当需要处理多种类型的 ...

  5. 【已结束】阿珏Blog三周年特别纪念活动

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` [已结束]阿珏Blog三周年特别纪念活动 日期:2019- ...

  6. 揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]

    揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计.ICL机制详解] 自GPT-3首次提出了In-Context Learning(ICL ...

  7. python selenium使用无头模式执行用例

    什么是无头模式? Headless Browser模式是浏览器的无界面状态,即在不打开浏览器界面的情况下使用浏览器. 该模式的好处如下: 1)可以加快web自动化测试的执行时间,对于web自动化测试, ...

  8. MYSQL8-快速生成表结构(用于生成文档)

    各种工具都有,没有特别趁手的.不如自己用sql处理. SELECT column_name AS CODE, CASE WHEN column_comment IS NULL OR TRIM(colu ...

  9. 一次Java服务内存过高的分析过程

    现象 年前,收到了短信报警,显示A服务的某台机器内存过高,超过80% 如上图所示,内存会阶段性增加.奇怪的是,十多台机器中只有这一台有这个问题 堆内内存分析 最先怀疑是内存泄漏的问题,所以首先使用jm ...

  10. Java 方法中循环调用具有事务的方法

    在Java中,循环调用一个具有事务的方法时,需要特别注意事务的边界和管理.通常,事务的边界是由框架(如Spring)来控制的,确保方法执行时数据的完整性和一致性.然而,在循环中调用事务方法时,每个调用 ...