美文网首页
强化学习笔记:基础代码

强化学习笔记:基础代码

作者: 圣_狒司机 | 来源:发表于2023-04-23 22:50 被阅读0次

一、基础环境类

必须有step方法,传参状态和动作 observation,action,返回新状态、新状态的奖励值和动作完成标签,observation_,reward,done。

from abc import ABC,abstractclassmethod
class Enviroment(ABC):
    @abstractclassmethod
    def setp(self,observation,action):
        # return observation_,reward,done
        ...

基础类里面的...是py 合法语法,应该完全拷贝。

二、基础人工智能类

基础人工智能类包含一个动作选择方法,传参状态值,返回选择动作。

class ArtificialIntelligence(ABC):
    @abstractclassmethod
    def choose_action(self,observation):
        # return action
        ...

三、用法

继承基础环境和人工智能类,重写step和choose_action方法,如果没有复写这两个方法,会报错。

class Env(Enviroment):
    ...
class Ai(ArtificialIntelligence):
    ...

env = Env()
ai = Ai()

报错:

TypeError: Can't instantiate abstract class Env with abstract method setp

这是因为基类ABCMeta的@abstractclassmethod装饰器在起作用。

相关文章

网友评论

      本文标题:强化学习笔记:基础代码

      本文链接:https://www.haomeiwen.com/subject/denyjdtx.html