多智能体MAPPO代码环境配置以及代码讲解
MAPPO代码环境配置
MAPPO是2021年一篇将PPO算法扩展至多智能体的论文,其论文链接地址为:https://arxiv.org/abs/2103.01955
对应的官方代码链接为https://github.com/marlbenchmark/on-policy
代码文件夹内容讲解
所有核心代码都位于 onpolicy 文件夹中。 algorithms/子文件夹包含 MAPPO 的特定于算法的代码。
envs/ 文件夹包含 MPE、SMAC 和 Hanabi 的环境的实现。
用于执行训练部署和策略更新的代码包含在 runner/ 文件夹中 - 每个环境都有一个runner。
可以在 scripts/ 文件夹中找到用于使用默认超参数进行训练的可执行脚本。 这些文件按以下方式命名:train_algo_environment.sh。 在每个文件中,映射名称(在 SMAC 和 MPE 的情况下)可以更改。
可以在 scripts/train/ 文件夹中找到每个环境的 Python 训练脚本。
config.py 文件包含相关的超参数和环境设置。
配置开始
本配置在Ubuntu 16/18/20,可以在CPU或GPU上跑程序,本文按照GPU版本配置环境
- 创建虚拟环境: conda create -n MAPPO python==3.6.1
- 激活环境: conda activate MAPPO
- 安装GPU版本的pytorch:torch1.5.1+cuda10.1以及torchision0.6.1+cuda10.1
- 下载MAPPO代码后进入on-poilcy文件夹:cd on-policy
- 安装本环境:pip install -e
- 按照requirement.txt文件选择性安装包,其中tensorboard如果用gpu版本的话:安装tensorboard-gpu2.0.0,然后安装tensorboardX:pip install tensorboardX=2.0.0,若用cpu版本的tensorboard可以pip install tensorboard==1.14
- 最后一步:安装seaborn:pip install seaborn
- 三步进行运行程序:
- cd onpolicy/scripts
- chmod +x ./train_mpe.sh
- ./train_mpe.sh
配置完成后的一些常见问题
1.出现ImportError: cannot import name ‘get_backend’
解决方法:tensorflow版本问题:sudo pip install tensorflow --upgrade</