PyMARL 开源项目教程
项目介绍
PyMARL 是一个由英国牛津大学计算机科学系机器学习研究组 WhiRL 开发的深度多智能体强化学习框架。该框架使用 PyTorch 编写,并利用 StarCraft II 作为其环境,支持多种多智能体强化学习算法的实现,包括 QMIX、COMA、VDN 等。
项目快速启动
环境准备
- 安装 Docker:确保系统中已安装 Docker。
- 克隆项目仓库:
git clone https://github.com/oxwhirl/pymarl.git cd pymarl
构建 Docker 镜像
cd docker
bash build.sh
运行项目
bash run.sh
应用案例和最佳实践
案例一:使用 QMIX 算法
QMIX 是一种用于深度多智能体强化学习的单调值函数因子分解算法。以下是如何在 PyMARL 中使用 QMIX 算法的步骤:
- 配置文件:在
src/config
目录下找到qmix.yaml
配置文件,根据需要进行调整。 - 运行实验:
python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z
案例二:使用 COMA 算法
COMA 是一种反事实多智能体策略梯度算法。以下是如何在 PyMARL 中使用 COMA 算法的步骤:
- 配置文件:在
src/config
目录下找到coma.yaml
配置文件,根据需要进行调整。 - 运行实验:
python3 src/main.py --config=coma --env-config=sc2 with env_args.map_name=2s3z
典型生态项目
SMAC
SMAC(StarCraft Multi-Agent Challenge)是一个基于星际争霸 II 的多智能体强化学习环境,广泛用于评估多智能体强化学习算法。PyMARL 框架与 SMAC 紧密集成,提供了丰富的实验环境和基准测试。
PyTorch
PyTorch 是一个开源的深度学习框架,PyMARL 使用 PyTorch 作为其主要计算库,提供了高效的神经网络训练和推理能力。
StarCraft II
StarCraft II 是一款实时战略游戏,被广泛用作强化学习研究的复杂环境。PyMARL 利用 StarCraft II 作为其主要测试平台,提供了丰富的多智能体强化学习场景。
通过以上内容,您可以快速了解并启动 PyMARL 项目,同时掌握其应用案例和相关生态项目。