建立自己的gym环境并调用

建立自己的gym环境并调用

      • gym
      • 构建环境并调用的四个步骤
      • 环境文件中的必备要素

机器人找金币的实例实际上就是在教我们利用现有的openAI环境建立自己的gym环境并进行调用。

gym

搞深度强化学习,训练环境的搭建是必须的,因为训练环境是测试算法,训练参数的基本平台。
现在大家用的最多的是openai的gym或者universe。这两个平台非常好,是通用的平台,而且与tensorflow和Theano无缝连接,目前只支持python语言。

gym的安装官网介绍的非常清楚链接: https://gym.openai.com/.

gym安装好之后,可以在anaconda prompt界面用pip show gym命令找到安装目录,我的目录为C:\anaconda\Lib\site-packages\gym

构建环境并调用的四个步骤

1、构建自己的环境文件,命名为grid_mdp.py,路径放在gym\envs\classic_control中,为了方便调用同文件夹中的rendering.py文件.

2、在gym\envs目录下的_init_.py文件中加入

register (
id= 'GridWorld-v0',
entry_point='gym.envs.classic_control:GridEnv', 
max_episode_steps=200, reward_threshold=100.0,
)

id是调用所构建的环境的时候起的名字
entry_point是环境文件所在的位置,例如上述:存在gym 文件夹下 classic_control文件夹下

3、在gym\envs\classic_control目录下的__init__.py文件中加入

from gym.envs.classic_control.grid_mdp import GridEnv

其中是grid_mdp是环境所存在的文件名字,GridEnv是该文件下的类。

4、通过下面四条命令调用新建的环境文件

import gym
env = gym.make('GridWorld-v0')
env. reset ()
env. render ()

环境文件中的必备要素

自我构建的环境为一个。主要包含:变量函数

变量必须含有动作和状态,此实例中就包含了self.states状态空间,self.actions动作空间,self.t状态转移,self.rewards回报,self.terminate_states终止状态等很多变量。

函数必须包含以下几类
1、step
这个函数 承担了最重要的功能,是所构建环境所实现功能的位置。输入为 动作,输出为下一个状态值 object,反馈rewards,终结标志,调试信息。
2、reset
重置环境,将状态设置为初始状态,返回: 状态值
3、render
在图形界面上作出反应,可以没有,但是必须存在
4、close
关闭图形界面
5、seed
随机种子,可以没有,但是必须存在

你可能感兴趣的:(python,算法,强化学习,机器学习,深度学习)