强化学习与Gym环境配置

强化学习与Gym环境配置

今天在Win10系统下实现了Gym的安装与环境配置,过程中遇到了一些小问题,仅作记录,方便后续回看,最后成功在win10系统下启动了box2d小游戏
强化学习与Gym环境配置_第1张图片

Requirements

  • Windows10
  • Python = 3.8

环境配置

(如果不想阅读全文,可以直接执行下列代码,完成环境配置)

conda install gym
conda install pyglet
conda install swig
pip3 install box2d

解释与说明

OpenAI/Gym官方文档指出gym不完全支持win10,于是今天做了一个尝试,首先安装gym库,import gym时提示缺少pyglet模块,直接通过conda进行安装,随后运行验证代码,如下:

import gym
env = gym.make('CartPole-v0')
for i_episode in range(20):
    observation = env.reset()
    for t in range(1000):
        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

此时可以正常显示动画并输出观察矩阵:
强化学习与Gym环境配置_第2张图片
随后想要运行gym/box2d模块中的racing游戏,conda安装gym的路径如下:anaconda3\\envs\\pytorch\\lib\\site-packages\\gym\\,此时python报错,提示缺少box2d的相关依赖,尝试下列代码,conda会提示相关依赖已安装,但程序还是无法运行。这可能就是官方不支持windows系统导致存在一些依赖问题,部分依赖包需要手动安装。

# 这是无效代码或报错代码!!!
conda install gym[box2d]
conda install gym[all]
pip3 install gym[all]

使用pip3安装完整版gym(gym[all])时,系统无法安装Box2d_py和mujoco_py,会给出大量报错信息:
强化学习与Gym环境配置_第3张图片
参考了其他博主的解决方法,需要手动安装依赖,注意其他博主给出的语句是pip3 install box2d_py,但本人亲测会遇到同上的问题,以下给出解决办法:

conda install swig
pip3 install box2d

目前看到的有效的方法还可以参考这一篇文章,经测试与上述方法的结果相同,我已经安装好了box2d,再按他的方法走会提示我已经安装了相同的包:

Box2D is already installed with the same version as the provided wheel.

成功安装,问题解决。测试样例如下,没有报错就说明成功安装

import gym
env = gym.make('CarRacing-v0')

也可以自己玩一下,使用方向键手动控制小车:

python gym/envs/box2d/car_racing.py

后续会围绕赛车游戏继续作主流RL算法的复现。
(看其他博主的文章提到在windows安装gym需要手动安装pygame,但本人在配置环境的时候没有遇到这个问题,可能之前已经安装过了,如果没有安装的话直接conda install pygame即可)

你可能感兴趣的:(python,windows)