概述:gym是一种常用的强化学习算法开发和比较库,gym中不仅提供了许多种已经设计好的环境,还提供gym环境的基类,允许用户通过这些基类区进一步构造自己的强化学习环境类,本文将重点对如何使用gym类生成自定义的gym环境类进行讲解。
gym基类
设计用户自定义的gym化的库,主要需要对下面的库进行重写:
- step :
- reset
- render
- close
- Seed
必须实现的方法有:
_init\_( ): 用于初始化动作空间与状态空间,便于强化学习算法在给定的状态空间中搜索合适的动作。
step() : 用于编写智能体与环境交互的逻辑,该函数输入为action,输出则为执行完action所处的状态、当前动作的回报、是否结束当前episode、调试信息四种,强化学习中关键的环境状态的更新、奖惩判断都在这个函数中进行。
reset() : 用于在每轮开始之前重置智能体状态。
不是必须实现的但有助于调试算法的内容:
metadata、render()、close()是与图像显示有关的,我们不涉及这一部分,感兴趣的同学可以自行编写相关内容。
实现实例
参考文献
- xxx
- xxx