番外篇,强化学习基础环境搭建

我们要学习强化学习相关知识,仅仅通过看书肯定是远远不够的,必须要自己动手写一些代码,这样对相关内容的了解才能更全面,我们的知识也能够真正落地。因此,本篇主要是让大家了解一下基础环境的搭建。

Python、Anaconda、PyCharm

  • Python

我们要进行强化学习实践,首推还是使用Python来搭建基础编程环境。如果对Python还不熟,推荐这个Python基础教程

  • Anaconda

在开发环境配置方面,推荐大家使用Anaconda,通过它可以搭建虚拟环境。你可以把它构建的虚拟环境视为一个封闭的独立空间,里面可以按照你的需求配置不同的Python开发包。同时,你也可以使用Anaconda配置多个虚拟环境,这些环境之间互不影响。具体,推荐大家看这个Anaconda入门简介

  • PyCharm

要进行具体的代码调试和编辑,还需要一个较好的IDE。我们这里还是推荐PyCharm。在PyCharm中,可以在其setting中设置具体由Anaconda配置的虚拟环境作为解释器,如下图:
在这里插入图片描述
PyCharm的相关安装等,可参见相关教程
以上三个部分,在百度上都可以搜索到相关详细介绍的文章,在这里就不再赘述。

Gym–开发与对比强化学习算法的工具集

这是OpenAI专门为强化学习开发的标准工具集,也可以称其为标准环境。它提供了非常多的小游戏,可以进行相关强化学习算法的训练;同时,它还提供了标准化的接口和函数,可以非常方便的进行强化学习算法的开发。
Gym的介绍,可以参见其官方网站

基本函数
  1. 初始化函数----生成一个环境对象
env = gym.make('游戏名称')
  1. 重置环境函数----返回一个初始状态 s t a t e state state
state = env.reset()
  1. 推进游戏函数----使用action将游戏向前推进一个step
obervation, reward, done, info = env.step(action)

其中obervation与前面的state一样,表示的是环境状态;reward是执行action后环境的实时奖励;done是游戏是否结束的标志;info是用来调试的一些信息,这个在实际强化学习算法中是不允许被使用的。
4. 渲染函数----显示游戏窗口及实时情况

env.render()
一般Gym的代码示例
import gym
env = gym.make('CartPole-v0') #导入CartPole-v0游戏
for episode in range(Episodes):  #跑Episodes幕,一幕相当于一次完整游戏
	observation = env.reset() #初始化环境,得到第一步状态
	for step in range(STEPS): #每一局游戏至多跑STEPS步
		action = methonThatgiveAction(observation) #强化学习算法,根据状态生成行动
	    obervation, reward, done, info = env.step(action) #根据action将游戏向前推进
	    if done: #如果游戏结束,则跳出step循环,进入下一episode;否则,继续step
	    	break
env.close() #结束游戏,关闭环境

上面就是Gym在调用时的一般代码,这种简单的方式,使得我们具体需要关注的,就是强化学习算法本身了。
更多Gym的二次开发,推荐天津包子馅儿的博文

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值