强化学习与Gym环境配置
今天在Win10系统下实现了Gym的安装与环境配置,过程中遇到了一些小问题,仅作记录,方便后续回看,最后成功在win10系统下启动了box2d小游戏
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/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,会给出大量报错信息:
参考了其他博主的解决方法,需要手动安装依赖,注意其他博主给出的语句是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即可)