强化学习--实验一倒立摆

强化学习



一、安装库

首先需要安装pygame与gym,直接在命令窗口中运行如下指令即可

pip install pygame
pip install gym

如果安装不成功,可下载相应的镜像进行安装。

二、实验代码及解释

import gym  # 导入 Gym 的 Python 接口环境包
env = gym.make('CartPole-v0')  # 构建实验环境
env.reset()  # 重置一个回合
for _ in range(1000):
    env.render()  # 显示图形界面
    action = env.action_space.sample() # 从动作空间中随机选取一个动作
    env.step(action) # 用于提交动作,括号内是具体的动作
env.close() # 关闭环境

链接中代码运行会报如下错误

D:\Users\Administrator\anaconda3\lib\site-packages\gym\envs\registration.py:564: UserWarning: WARN: The environment CartPole-v0 is out of date. You should consider upgrading to version `v1`.
  logger.warn(

将上述代码中的实验环境由’CartPole-v0’更改为’CartPole-v1’后,该错误消失。

执行这段代码时,机器人会驾驶着小车朝某个方向一直跑,直到不见,这是因为还没开始训练机器人。

Gym 库中的大部分小游戏都可以用一个普通的实数或者向量来表示动作。输出env.action_space.sample()的返回值,能看到输出为 1 或者 0。env.action_space.sample()的含义是,在该游戏的所有动作空间里随机选择一个作为输出。在这个例子中,动作只有两个:0 和 1,一左一右。env.step()方法有4个返回值:observation、reward、done、info 。

observation 是状态信息,是在游戏中观测到的屏幕像素值或者盘面状态描述信息。reward 是奖励值,即动作提交以后能够获得的奖励值。这个奖励值因游戏的不同而不同,但总体原则是,对完成游戏有帮助的动作会获得比较高的奖励值。done 表示游戏是否已经完成,如果完成了,就需要重置游戏并开始一个新的回合。info 是一些比较原始的用于诊断和调试的信息,或许对训练有帮助。不过,OpenAI 在评价我们提交的机器人时,是不允许使用这些信息的。

在每个训练中都要使用的返回值有 observation、reward、done。但 observation 的结构会由于游戏的不同而发生变化。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值