1、背景
在学习 Motion Planning Among Dynamic, Decision-Making Agentswith Deep Reinforcement Learning一文时打开了这位大佬分享的代码
以下是大佬最新分享的gym测试环境,打算试一下
https://gym-collision-avoidance.readthedocs.io/en/latest/pages/install.html
运行的时候发现这是封装成应用程序的需要安装,之前没这么搞过别人的代码,学习了记录安装过程
2、下载与安装
可以从git上直接下载大佬的代码
https://github.com/mit-acl/gym-collision-avoidance
下载之后按照前面网站的说明需要运行install.sh文件
但是这个不会整,下载了git啥的bash之后没反应
后来在师兄指点下直接自己创建虚拟环境conda ,然后cd到这个包的目录下,cmd命令行直接运行:
python setup.py build
python setup.py install
即可开启安装过程
安装过程中发现报错,一个是涉及到的包下载很慢,建议科学上网
另一个是下载imageio这个包的时候报了不少错
首先是无法下载。这个需要多试几次下载
其次是下载下来是2.4.1符合这个大佬自己包的要求。但是不符合moviepy的要求。moviepy要求2.5的包
先跳过直接按照教程进入example.sh内的内容
实际上就是要运行gym_collision_avoidance/experiments/src里的example.py文件
但是运行后报错。一个是gym环境报错
再oder_enforcing这个gym环境文件里
bservation, reward, done, info = self.env.step(action)只输出了4个变量,但是需要5个。
这里需要给他扩充一个维度
bservation, reward, done, info , which_agents_done = self.env.step(action)
并且在调用整个函数的地方注意也是5个维度
其次又是moviepy报错,显示缺少decorator包
实际上就是版本不匹配
于是又返回去重新下载包
删除旧版的decorator和imageio
下载符合moviepy需要的包即可
使用报错
发现在运行example的过程中老是报
ValueError: too many values to unpack (expected 4)的错误
到网上查了下,直接在gym的文件中修改了output的维数,从4个增加到5个可以用了
但是在后来运行其他程序的时候比如run_cadrl_formations.py这些程序
老是报奇怪的错误,在wrappers文件中显示observation有错误,无法正常运行
找了半天也没找到为啥
后来想想还是gym的问题,把它从0.21更新到0.26之后就可以运行了