RL强化学习笔记:OpenAI gym建立自己的探索环境
·
本文为个人学习笔记,方便个人查阅观看
原文链接
利用OPenAI gym建立自己的强化学习探索环境:
首先,先定义一个简单的RL任务:

如图所示:初始状态下的环境,机器人在左上角出发,去寻找右下角的电池,静态障碍:分别在10、19位置,动态障碍:有飞机和轮船,箭头表示它们可以移动到的位置,会随时间改变而改变。
这里假设:它们的移动速度和机器人一样。飞机会沿着当前列上下来回移动,轮船则只在当前位置到左边两格的范围来回移动。移动范围:如箭头所示。
假设每个训练episode中,机器人在每一个step都有四个方向选择,碰到障碍物或者step超过了20步则终止该次训练。
一、安装gym
这部分不单独介绍,官网有详细步骤(简洁版及完整版)
[OPenAI gym官网]
二、进入gym文件夹

主要是这三个地方
- 首先打开初始化文件__init___
在classic下加入这一段

register(
id='MyEnvrobt-v0',
entry_point='gym.envs.classic_control:MyEnvrobt',
max_episode_steps=200,
reward_threshold=195.0,
)
- 在\gym\envs\classic_control中建立myenv文件夹

可以将\gym\envs中的registration文件复制放入\gym\envs\classic_controlmyenv文件夹中,并更名为MyEnvrob.py


- 打开myenvrobt.py文件
首先将class myenv改为 class MyEnvrobt

后续 def函数就可以根据你所需要去定义环境的动作空间、状态空间、奖励、折扣等等
- 返回上一层\envs\classic_control, 打开__init__.py初始化文件,并加入


from gym.envs.classic_control.myenv.myenvrobt import MyEnvrobt
这样就完成啦
- 测试环境
import gym
import time
env = gym.make('MyEnvrobt-v0')
env.reset()
env.render()
time.sleep(10)
env.close()

加入Q-learning后的简单测试:

完整代码及链接请看:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)