MADDPG环境配置

源码

GitHub源码分为环境和算法两个部分:
1、Multi-Agent Particle Environment
2、Multi-Agent Deep Deterministic Policy Gradient (MADDPG)

环境配置

下载 Multi-Agent Particle Environment 源码,阅读 README.md 可知需要先配置:

Python (3.5.4), OpenAI gym (0.10.5), numpy (1.14.5), tensorflow(1.8.0)

注意对应的包的版本,我使用的是 Pycharm + python3.6。
根据网上的经验,这里gym不可以安装最新的版本,否则会报prng.py和另一个模块的缺失。(参考:OpenAI MADDPG配置)

然后在 Pycharm 自带的 terminal 或进入 cmd,在下载的工程的根目录执行 pip install -e .,将会自动下载补全剩余需要的包。等待成功安装,输入环境测试指令 python bin/interactive.py --scenario simple.py。我的实验结果如下。
MADDPG环境配置_第1张图片
只有两个小球,没有交互等其他内容,退出后会报错:

Traceback (most recent call last):
  File "bin/interactive.py", line 36, in <module>
    env.render()
  File "D:\Software\JetBrains\PyCharm 2018.1.3\helloworld\MADDPGtest\bin\..\multiagent\environment.py", line 261, in render
    results.append(self.viewers[i].render(return_rgb_array = mode=='rgb_array'))
  File "D:\Software\JetBrains\PyCharm 2018.1.3\helloworld\MADDPGtest\bin\..\multiagent\rendering.py", line 110, in render
    self.window.flip()
  File "D:\Software\JetBrains\PyCharm 2018.1.3\helloworld\MADDPGtest\venv\lib\site-packages\pyglet\window\win32\__init__.py", line 347, in flip
    self.context.flip()
AttributeError: 'NoneType' object has no attribute 'flip'

可以通过将环境测试指令中的 simple 改为 multiagent/scenarios 文件夹中的任意其他场景进行实验。

算法配置

暂时没有管上面的问题,也不太确定是否算是多智能体环境配置完成,下面直接配置算法运行的环境。下载 Multi-Agent Deep Deterministic Policy Gradient (MADDPG) 源码,由 README.md 可知,这部分需要的基础配置和之前是一样的,直接在 Pycharm 使用此前的配置环境即可。

也可以在当前下载的MADDPG工程的根目录再执行 pip install -e .,确保全部安装完成。

确保此前的下载的环境源码文件夹 multiagent-particle-envs 被添加到你的 PYTHONPATH 中,Windows 可以参考Python环境变量PYTHONPATH设置、导入第三方模块,也就是在系统环境变量里面加一项 PYTHONPATH 并设置好文件夹的路径。

下面开始算法测试,进入到 experiments 文件夹中,执行 python train.py --scenario simple,运行结果如下:
MADDPG环境配置_第2张图片
修改 train.py 的第32行,设置 display 属性默认为 True:parser.add_argument("--display", action="store_true", default=True),可以在训练过程中观察图像,显示结果如下:
MADDPG环境配置_第3张图片
灰色球会向红色球处移动,没有其他内容。

关于对整个MADDPG工程的分析,可以参考OpenAI-MADDPG 工程简单解析及个人想法

你可能感兴趣的:(算法学习)