0%

强化学习——gym

概述:gym是一种常用的强化学习算法开发和比较库,gym中不仅提供了许多种已经设计好的环境,还提供gym环境的基类,允许用户通过这些基类区进一步构造自己的强化学习环境类,本文将重点对如何使用gym类生成自定义的gym环境类进行讲解。

gym基类

  设计用户自定义的gym化的库,主要需要对下面的库进行重写:

  • step :
  • reset
  • render
  • close
  • Seed

必须实现的方法有:

_init\_( ): 用于初始化动作空间与状态空间,便于强化学习算法在给定的状态空间中搜索合适的动作。

step() : 用于编写智能体与环境交互的逻辑,该函数输入为action,输出则为执行完action所处的状态、当前动作的回报、是否结束当前episode、调试信息四种,强化学习中关键的环境状态的更新、奖惩判断都在这个函数中进行。

reset() : 用于在每轮开始之前重置智能体状态。

不是必须实现的但有助于调试算法的内容:

metadata、render()、close()是与图像显示有关的,我们不涉及这一部分,感兴趣的同学可以自行编写相关内容。

实现实例

  

参考文献
  • xxx
  • xxx