1.6.2 使用Gym库
本节介绍Gym库的使用。
要使用Gym库,当然首先要导入Gym库。导入Gym库的方法显然是:
import gym
在导入Gym库后,可以通过make() 函数来得到环境对象。每一个环境都有一个ID,它是形如“Xxxxx-vd”的Python字符串,如’CartPole-v0’、’Taxi-v2’等。环境名称最后的部分表示版本号,不同版本的环境可能有不同的行为。使用取出环境’CartPole-v0’的代码为:
env = gym.make(‘CartPole-v0’)
想要查看当前Gym库已经注册了哪些环境,可以使用以下代码:
from gym import envs
env_specs = envs.registry.all()
env_ids = [env_spec.id for env_spec in env_specs]
env_ids
每个环境都定义了自己的观测空间和动作空间。环境env的观测空间用env.observa-tion_space表示,动作空间用env.action_space表示。观测空间和动作空间既可以是离散空间(即取值是有限个离散的值),也可以是连续空间(即取值是连续的)。在Gym库中,离散空间一般用gym.spaces.Discrete类表示,连续空间用gym.spaces.Box类表示。例如,环境’MountainCar-v0’的观测空间是Box(2,),表示观测可以用2个float值表示;环境’MountainCar-v0’的动作空间是Dicrete(3),表示动作取值自。对于离散空间