首页 > 其他分享 >gym.ActionWrapper使用时的注意点——step函数可以覆盖observation函数

gym.ActionWrapper使用时的注意点——step函数可以覆盖observation函数

时间:2022-09-25 22:36:44浏览次数:64  
标签:__ 函数 gym ActionWrapper step env action self

本文说的这个gym.ActionWrapper继承类的问题和gym.ObservationWrapper继承类的问题性质是一样的,具体看:

gym.ObservationWrapper使用时的注意点——reset和step函数可以覆盖observation函数

地址:

https://www.cnblogs.com/devilmaycry812839668/p/16729162.html

 

 

 

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

 

 

代码:

import gym


class Wrapper(gym.ActionWrapper):
    def __init__(self, env):
        super(Wrapper, self).__init__(env)

    # def step(self, action):
    #     print("step execute!!!")
    #     obs, reward, is_done, info = self.env.step(action)
    #     return obs, reward, is_done, info

    def action(self, action):
        print("action execute!!!")
        return action


env=gym.make("CartPole-v0")
env = Wrapper(env)
env.reset()
env.step(0)

运行结果:

 

 

 

 

 

import gym


class Wrapper(gym.ActionWrapper):
    def __init__(self, env):
        super(Wrapper, self).__init__(env)

    def step(self, action):
        print("step execute!!!")
        obs, reward, is_done, info = self.env.step(action)
        return obs, reward, is_done, info

    def action(self, action):
        print("action execute!!!")
        return action


env=gym.make("CartPole-v0")
env = Wrapper(env)
env.reset()
env.step(0)

运行结果:

 

 

 

 

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

 

 

 

具体原理,看下gym.ActionWrapper的代码就很清楚了:

 

 

标签:__,函数,gym,ActionWrapper,step,env,action,self
From: https://www.cnblogs.com/devilmaycry812839668/p/16729214.html

相关文章

  • gym.ObservationWrapper使用时的注意点——reset和step函数可以覆盖observation函数
    记录一个刚学习到的gym使用的点,就是gym.ObservationWrapper使用时的注意点——reset和step函数可以覆盖observation函数。  给出代码:importgymclassWrapper(gy......
  • 怎么写出数组扁平化?如何手写flat函数
    手写一下数组扁平化flat(),但是发现居然没有一个能够完成写出来,所以打算总结一下如果遇到了数组扁平化的题目(也可以叫做手动封装flat()方法),到底应该怎么写,怎么写可......
  • mysql函数
    日期函数返回当前日期,只包含年月日selectcurdate()返回当前时间,只包含时分秒selectcurtime()返回当前的日期和时间,年月日时分秒全都包含selectnow()提取......
  • lambda函数和map函数的理解和使用
    lambda函数在说lambda函数前,先来想一下平时的在Python中怎么定义和使用函数的,简单的如下:defsum(x):x=x+5returnxprint(sum(8))输出结果都晓得:13上......
  • React 函数式组件怎样进行优化
    前言目的本文只介绍函数式组件特有的性能优化方式,类组件和函数式组件都有的不介绍,比如key的使用。另外本文不详细的介绍API的使用,后面也许会写,其实想用好hooks还是......
  • C/C++ 关于默认构造函数
    前言:在C++中,对于一个类,C++的编译器都会为这个类提供四个默认函数,分别是:A()//默认构造函数~A()//默认析构函数A(constA&)//默认拷贝构造函数A&operator=(const......
  • 函数式接口作为方法的参数案例和函数式接口作为方法的返回值类型案例
    函数式接口作为方法的参数案例:/*假如java.lang.Runnable接口就是一个函数式接口假设有一个startThread方法使用该接口作为参数,那么参数就可以使用Lambda进行传......
  • js 内置函数Date
    从深入潜JavaScript日期对象方法描述*空执行Date()返回当日的日期和时间(字符串)。getDate()orsetDate()get返回月中的第几天(1-31),set设置对象当月天。......
  • C语言第18天,字符串处理函数
    字符串处理函数与printf不同,这些函数不在之前熟悉的头文件stdio.h中。而是在字符串专用的头文件string.h中。1.获取字符串长度strlenstrlen函数可以获取字符数组中的字......
  • 封装axios函数记录
    基于axios进行二次封装统一配置,便于管理下载axiosyarnaddaxios创建utils/request.js//基于axios封装的请求模块importajaxfrom'axios'//新建一......