官网:https://www.gymlibrary.dev/
https://github.com/openai/gym
Gym是一个研究强化学习算法的工具箱。需要安装2个库 gym、pygame。
一、安装库
1、安装gym。最小安装的Gym库只包括少量的内置环境,如算法环境、简单文字游戏环境和经典控制环境。box2d
pip install gym -i https://pypi.tuna.tsinghua.edu.cn/simple/
完整安装。gym库的一些内置的扩展库并不包括在最小安装中,比如说gym[atari]、gym[box2d]、gym[mujoco]、gym[robotics]等等。
pip install --upgrade gym[all] -i https://pypi.tuna.tsinghua.edu.cn/simple/
查看版本号:
① pip show gym
② print(gym.__version__)
import gym print(gym.__version__)
2、安装pygame
pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple/
二、LunarLander-v2 月球登陆器
1、安装box2d。
pip install gym[box2d]
2、代码
import gym # LunarLander-v2 月球登陆器 env = gym.make("LunarLander-v2", render_mode="human") observation, info = env.reset(seed=42) for _ in range(1000): observation, reward, terminated, truncated, info = env.step(env.action_space.sample()) if terminated or truncated: observation, info = env.reset() env.close()
3、函数说明。
make(): 生成环境对象。
reset():为环境复位初始化函数。将环境的状态恢复到初始状态。
env.state 用于查看环境当前状态。state是环境的一个propety,不是函数。
env.step():单步执行。这里说的单步不是指软件程序调试中所指的运行一行代码之类的,而是指智能体与环境之间的一次交互,即智能体在当前状态s下执行一次动作a,环境相应地更新至状态s,并向智能体反馈及时奖励r。
env.render():环境显示。以图形化的方式显示环境当前状态,在智能体与环境的持续交互过程中,该图形化显示也是相应地持续更新的。
env.close():关闭环境。
env.sample_space.sample(): 对动作空间进行随机采样。
env.seed():指定随机种子。