MountainCar 山地车
import gym # MountainCar 山地车 env = gym.make('MountainCar-v0', render_mode='human') for i_episode in range(10): observation = env.reset() for t in range(100): env.render() print(observation) action = env.action_space.sample() observation, reward, done, info, _ = env.step(action) if done: print("Episode finished after {} timesteps".format(t+1)) break env.close()
补充说明:
一、动作是如何和环境交互的
与环境交互过程中,每一步环境都会返回四个值:
1、observation (object):一个特定的环境对象,代表从环境中得到的观测值。例如从摄像头获得的像素数据,机器人的关节角度和关节速度,或者棋盘游戏的棋盘。
2、reward (float) :由于之前采取的动作所获得的奖励总和。
3、done (boolean) :决定是否重置环境。
4、info (dict):调试过程中产生的相关信息。
二、空间
在上面的例子中,我们一直在从环境的动作空间中采样随机动作。
action = env.action_space.sample()
每个环境都带有一个动作空间和一个观察空间。
这些属性属于 space 类型,它们描述了有效操作和观察的格式:
import gym env = gym.make('CartPole-v1', render_mode="human") print(env.action_space) print(env.observation_space)