本文主要是介绍强化学习环境:Gym本地库中添加自己编写的环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 找到本地gym库地址下的envs目录,可能是:python3.6/site-packages/gym/envs。
envs下面有多个目录,选择一个你的环境所属的目录(不是很重要,选择相近类别即可)
2. 假如我们选择的是classic_control目录,进入该目录。
3. 把自己编写的环境文件(比如myenv.py)拷贝至该目录。
4. 打开该目录下的__init__.py文件,加入如下语句:
from gym.envs.classic_control.myenv import LargeGridWorldfrom gym.envs.classic_control.myenv import SimpleGridWorldfrom gym.envs.classic_control.myenv import WindyGridWorld
5. 返回至envs目录下,打开该目录下的__init__.py文件,加入如下语句完成环境的注册:
register(id='LargeGridWorld-v0',entry_point='gym.envs.classic_control:LargeGridWorld',max_episode_steps=999,)
register(id='SimpleGridWorld-v0',entry_point='gym.envs.classic_control:SimpleGridWorld',max_episode_steps=999,)
register(id='WindyGridWorld-v0',entry_point='gym.envs.classic_control:WindyGridWorld',max_episode_steps=999,)
其中每一个注册方法内的id好像一定要带上版本号,也就是id后半部分的”-v0”不能省。
6. 完成了上述工作后,在自己的代码里就可以直接使用下面的语句来构建相应的环境对象了:
id = "SimpleGridWorld-v0" # 设置环境idenv = gym.make(id) # 构建环境对象env.reset() # 重置环境env.render() # 绘制环境Input("press any key to continue...")env.close() # 关闭环境
这篇关于强化学习环境:Gym本地库中添加自己编写的环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!