gym是一个研究和开发强化学习相关算法的仿真平台。
1、hello world
import gymenv = gym.make('CartPole-v0') # 构造一个初始化环境status = env.reset() #通过重置来启动环境,返回当前环境的状态actions = env.action_space # 获取动作for _ in range(1000): #1000帧env.render() #每一帧重新渲染环境env.step(env.action_space.sample()) # 选择一个随机的动作env.close() # 关闭环境
2、查看所有的环境列表
from gym import envsprint(envs.registry.all())
3、env.step返回信息
env.step() 会返回 4 个参数:
- 观测 Observation (Object):当前 step 执行后,环境的观测(类型为对象)。例如,从相机获取的像素点,机器人各个关节的角度或棋盘游戏当前的状态等;
- 奖励 Reward (Float): 执行上一步动作(action)后,智体(agent)获得的奖励(浮点类型),不同的环境中奖励值变化范围也不相同,但是强化学习的目标就是使得总奖励值最大;
- 完成 Done (Boolen): 表示是否需要将环境重置
env.reset。大多数情况下,当Done为True时,就表明当前回合(episode)或者试验(tial)结束。例如当机器人摔倒或者掉出台面,就应当终止当前回合进行重置(reset); - 信息 Info (Dict): 针对调试过程的诊断信息。在标准的智体仿真评估当中不会使用到这个 info,具体用到的时候再说。
4、运行结果展示

