一起来学强化学习系列(一)-gym环境搭建

本文档详细介绍了在Windows操作系统上搭建OpenAI Gym环境的步骤,包括使用Anaconda创建环境、通过pip安装Gym以及测试运行CartPole-v0环境。作者强调实践的重要性,并分享了gym.make()、env.reset()、env.render()和env.step()等核心函数的用途和作用。此外,还对环境状态的组成进行了初步解读。
部署运行你感兴趣的模型镜像

前言

为何开此系列:近期在学习强化学习,故开此系列博文和大家一起学习,一起交流,同时也是为了起到监督自己的效果。

该系列使用到的教材:深入浅出强化学习

我可能会如何学习 :原理当然要学,但我可能会更注重实践,所以本系列当中可能会有大量本人亲自实践的内容。关于书本的内容,我会自己读一遍,然后将其中的实践部分自己动手实现,所以想要知道为什么要这么实现,推荐先去读一读教材,本系列更适合想知道如何动手实现书中案例的🐻弟们。

我希望达到什么目标:希望能够通过该系列监督自己将强化学习入门,能够了解强化学习是什么、有什么用、怎么用、代码怎么写,为研二的论文实验打好基础。当然,也希望能跟大家分享自己的学习过程~

希望读者带着什么态度来读:我也是第一次学强化学习的菜鸡,难免会有理解不到位、或者写错的地方,希望大家带着辩证的态度来看本系列博文,一起和谐讨论,欢迎大家给我指正。

那么下面就进入正题吧~


gym环境的搭建(Windows版)

 本书中使⽤的仿真环境为OpenAI 的 gym(https://github.com/openai/gym)。

但是书中使用的是linux系统的安装,由于我电脑上暂未安linux系统,也没安虚拟机,我就用windows学习吧,遇到什么问题再想办法解决。

1.安装anaconda

官网安装,这个就不多介绍了,自行百度。

安装完后下载可以下载一个jupyter notebook,后续实践我会用这个。

2.使用pip下载gym

官网写的 gym要求 python3.5+

 打开anaconda新建一个python3.5+的环境gym

新建一个gym环境后,点右侧绿色箭头 -> open terminal打开命令行 -> 输入pip install gym

 安装完成后打开jupyter notebook,输入以下代码测试环境:

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample()) # take a random action
env.close()

 运行后可以看到如下的小车倒⽴摆模型

说明gym安装成功,环境已经搭建起来了,可以用gym进行更多的算法学习了!

3.介绍一下代码

gym.make('CartPole-v0'):表示创建一个小车倒立摆环境。

改变make中的参数可以改变环境,比如把 'CartPole-v0' 改成 'MountainCar-v0' 可以得到下面的环境,想要对应的环境对应的参数可以去官网查文档。

env.reset():reset()为重新初始化函数。

在强化学习算法中,智能体需要⼀次次地尝试并累积经验,然后从经验中学到好的动作。每⼀次尝试我们称之为⼀条轨迹或⼀个episode,每次尝试都要到达终⽌状态。⼀次尝试结束后,智能体需要从头开始,这就需要智能体具有重新初始化的功能。函数reset()就是⽤来做这个的。

reset()的源代码:

 第2⾏代码是利⽤均匀随机分布初试化环境的状态,第3⾏代码是设置 当前步数为None。第4⾏,返回环境的初始化状态。

关于源码的第二行,返回的是包含4个值的ndarray

至于为什么state有4个值,我也不太理解,我的理解是其中应该有两个值代表横纵坐标、另外两个值应该于当前环境有关,比如施加力的方向、施加力的大小之类的。 

 env.render(): render()函数在这⾥扮演图像引擎的⾓⾊。

 我们知道⼀个仿真环境 必不可少的两部分是物理引擎和图像引擎。物理引擎模拟环境中物体的运 动规律;图像引擎⽤来显⽰环境中的物体图像,其实,对于强化学习算法 ⽽⾔,可以没有 render()函数,但是,为了便于直观显⽰当前环境中物 体的状态,图像引擎还是有必要的。另外,加⼊图像引擎可以⽅便我们调 试代码。

env.step(): 本函数在仿真器中扮演物理引擎的⾓⾊。

其输⼊是动作a,输出是:下 ⼀步状态、⽴即回报、是否终⽌、调试项。它描述了智能体与环境交互的 所有信息,是环境⽂件中最重要的函数。在本函数中,⼀般利⽤智能体的 运动学模型和动⼒学模型计算下⼀步的状态和⽴即回报,并判断是否达到 终⽌状态。

总结

本节主要讲了gym的搭建,并介绍了一下三个核心函数的使用,了解了gym环境的构建过程,就可以构建⾃⼰的仿真环境了。

 

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的香辛料

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值