RL强化学习笔记:OpenAI gym建立自己的探索环境


本文为个人学习笔记,方便个人查阅观看
原文链接


利用OPenAI gym建立自己的强化学习探索环境:

首先,先定义一个简单的RL任务:
RL强化学习笔记:OpenAI gym建立自己的探索环境_第1张图片

如图所示:初始状态下的环境,机器人在左上角出发,去寻找右下角的电池,静态障碍:分别在10、19位置,动态障碍:有飞机和轮船,箭头表示它们可以移动到的位置,会随时间改变而改变。
这里假设:它们的移动速度和机器人一样。飞机会沿着当前列上下来回移动,轮船则只在当前位置到左边两格的范围来回移动。移动范围:如箭头所示。

假设每个训练episode中,机器人在每一个step都有四个方向选择,碰到障碍物或者step超过了20步则终止该次训练。


一、安装gym
这部分不单独介绍,官网有详细步骤(简洁版及完整版)
[OPenAI gym官网]


二、进入gym文件夹
RL强化学习笔记:OpenAI gym建立自己的探索环境_第2张图片
主要是这三个地方


  1. 首先打开初始化文件__init___
    在classic下加入这一段
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第3张图片
register(
    id='MyEnvrobt-v0',
    entry_point='gym.envs.classic_control:MyEnvrobt',
    max_episode_steps=200,
    reward_threshold=195.0,
)

  1. 在\gym\envs\classic_control中建立myenv文件夹
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第4张图片
    可以将\gym\envs中的registration文件复制放入\gym\envs\classic_controlmyenv文件夹中,并更名为MyEnvrob.py
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第5张图片
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第6张图片

  1. 打开myenvrobt.py文件
    首先将class myenv改为 class MyEnvrobt
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第7张图片
    后续 def函数就可以根据你所需要去定义环境的动作空间、状态空间、奖励、折扣等等

  1. 返回上一层\envs\classic_control, 打开__init__.py初始化文件,并加入
    RL强化学习笔记:OpenAI gym建立自己的探索环境_第8张图片

RL强化学习笔记:OpenAI gym建立自己的探索环境_第9张图片

from gym.envs.classic_control.myenv.myenvrobt import MyEnvrobt

这样就完成啦


  1. 测试环境
import gym
import time
env = gym.make('MyEnvrobt-v0')
env.reset()
env.render()
time.sleep(10)
env.close()

RL强化学习笔记:OpenAI gym建立自己的探索环境_第10张图片
加入Q-learning后的简单测试:
RL强化学习笔记:OpenAI gym建立自己的探索环境_第11张图片
完整代码及链接请看:

源码

你可能感兴趣的:(笔记,python,强化学习,python,人工智能,机器学习)