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

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

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

主要是这三个地方

  1. 首先打开初始化文件__init___
    在classic下加入这一段
    笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
    文章图片
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建立自己的探索环境)
    文章图片

    可以将\gym\envs中的registration文件复制放入\gym\envs\classic_controlmyenv文件夹中,并更名为MyEnvrob.py
    笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
    文章图片

    笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
    文章图片
  1. 打开myenvrobt.py文件
    首先将class myenv改为 class MyEnvrobt
    笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
    文章图片

    后续 def函数就可以根据你所需要去定义环境的动作空间、状态空间、奖励、折扣等等
  1. 返回上一层\envs\classic_control, 打开__init__.py初始化文件,并加入
    笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
    文章图片
笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
文章图片

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建立自己的探索环境)
文章图片

加入Q-learning后的简单测试:
笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)
文章图片

完整代码及链接请看:
【笔记|RL强化学习笔记(OpenAI gym建立自己的探索环境)】源码

    推荐阅读