Ubuntu安装Gym及其仿真
文章目录
- 一、Gym的安装
- 二、Gym注册
一、Gym的安装
1. 命令安装
pip install gym -y
2. 源码安装
git clone https://github.com/openai/gym
cd gym
pip install -e .
3. 示例安装验证
写一示例测试 gym_test.py
文件内容如下:
import gym# 创建环境并指定渲染模式
env = gym.make('CartPole-v1', render_mode='human')
env.reset()# 运行1000步
for _ in range(1000):env.render()action = env.action_space.sample()obs, reward, terminated, truncated, info = env.step(action)# 如果环境终止,重置if terminated or truncated:env.reset()
env.close()
测试demo结果如下则安装成功。
# 可视化依赖
pip install pygamepython3 gym_test.py
测试 gym 能否成功运行 MuJoCo 环境
# version1: 纯gym_version >= '0.26.0'
import gymenv = gym.make("Ant-v4", render_mode="human")
observation, info = env.reset() # reset() 现在返回 (observation, info)for _ in range(1000):action = env.action_space.sample()observation, reward, terminated, truncated, info = env.step(action) # 新版返回5个值if terminated or truncated: # 检查是否终止或截断observation, info = env.reset() # 重置环境env.close()# version2: 兼容性gym_version各版本
import gym
import warnings# 获取当前 gym 版本
gym_version = gym.__version__
print(f"Using gym version: {gym_version}")# 初始化环境
env = gym.make("Ant-v4", render_mode="human")# 根据版本自适应处理 reset() 返回值
if gym_version >= '0.26.0':observation, info = env.reset()
else:observation = env.reset()info = {} # 旧版没有 infotry:for _ in range(1000):action = env.action_space.sample()# 根据版本自适应处理 step() 返回值if gym_version >= '0.26.0':observation, reward, terminated, truncated, info = env.step(action)done = terminated or truncatedelse:observation, reward, done, info = env.step(action)truncated = False # 旧版没有 truncated# 渲染环境if gym_version >= '0.26.0':env.render() # 新版 render() 不需要参数else:env.render(mode='human') # 旧版需要指定 mode# 检查是否结束if done:if gym_version >= '0.26.0':observation, info = env.reset()else:observation = env.reset()info = {}except KeyboardInterrupt:print("Simulation interrupted by user")finally:env.close()print("Environment closed")
测试结果如下则成功调用Mujoco环境。
二、Gym注册
当需要基于Gym基本框架搭建自定义环境时,如何将自己的环境移到gym中,被其所识别,这即是 Gym注册自定义环境 问题。