多智能体强化学习训练场。
项目描述
PettingZoo 是一个用于进行多智能体强化学习研究的 Python 库,类似于 Gymnasium 的多智能体版本。
文档网站位于 pettingzoo.farama.org,我们有一个公开的 discord 服务器(我们也在那里协调开发工作),您可以通过以下链接加入:https://discord.gg/nhvKkYa6qX
环境
宠物动物园包含以下环境系列:
- Atari:多人Atari 2600游戏(合作、竞争和混合总和)
- 蝴蝶:我们开发的合作图形游戏,需要高度的协调
- 经典:包括卡牌游戏、桌面游戏等经典游戏
- MPE:一套简单的非图形通信任务,最初来自https://github.com/openai/multiagent-particle-envs
- SISL:3个合作环境,最初来自https://github.com/sisl/MADRL
安装
要安装PettingZoo基本库: pip install pettingzoo
。
这不包括所有环境系列的依赖项(某些环境在某些系统上可能难以安装)。
要安装一个环境系列的依赖项,使用 pip install 'pettingzoo[atari]'
,或使用 pip install 'pettingzoo[all]'
安装所有依赖项。
我们支持Linux和macOS上的Python 3.8、3.9、3.10和3.11。我们将接受与Windows相关的PR,但不官方支持。
入门
有关PettingZoo的介绍,请参阅基本用法。要创建新环境,请参阅我们的环境创建教程和自定义环境示例。有关使用PettingZoo训练RL模型的示例,请参阅我们的教程
- CleanRL:实现PPO:在Pistonball环境中训练多个PPO智能体。
- Tianshou:训练智能体:在井字棋环境中训练DQN智能体。
- AgileRL:训练、课程和自我对弈:在四子棋环境中通过课程学习和自我对弈训练智能体。
API
将PettingZoo模型环境视为智能体环境周期(AEC)游戏,以便在单个API下干净地支持所有类型的多人强化学习环境,并最大限度地减少某些常见类别的潜在错误。
使用PettingZoo中的环境与Gymnasium非常相似,即通过以下方式初始化环境:
from pettingzoo.butterfly import pistonball_v6
env = pistonball_v6.env()
环境可以以与Gymnasium非常相似的方式交互
env.reset()
for agent in env.agent_iter():
observation, reward, termination, truncation, info = env.last()
action = None if termination or truncation else env.action_space(agent).sample() # this is where you would insert your policy
env.step(action)
有关完整API文档,请参阅https://pettingzoo.farama.org/api/aec/
并行API
在特定环境中,假设智能体同时采取行动是合理的。对于这些游戏,我们提供了一个辅助API以允许并行动作,有关文档请参阅https://pettingzoo.farama.org/api/parallel/
SuperSuit
SuperSuit是一个库,它为PettingZoo和Gymnasium环境提供了所有常用的包装器(帧堆叠、观察、归一化等),并具有友好的API。我们开发它来代替PettingZoo中内置的包装器。https://github.com/Farama-Foundation/SuperSuit
环境版本控制
出于可复现性的原因,PettingZoo对版本进行了严格控制。所有环境都以类似"_v0"的后缀结尾。当对可能影响学习结果的环境进行更改时,数字增加1,以防止潜在的混淆。
项目负责人
项目经理:Elliot Tower
此项目的维护也由更广泛的Farama团队提供: farama.org/team。
引用
在出版物中引用此项目,请使用
@article{terry2021pettingzoo,
title={Pettingzoo: Gym for multi-agent reinforcement learning},
author={Terry, J and Black, Benjamin and Grammel, Nathaniel and Jayakumar, Mario and Hari, Ananth and Sullivan, Ryan and Santos, Luis S and Dieffendahl, Clemens and Horsch, Caroline and Perez-Vicente, Rodrigo and others},
journal={Advances in Neural Information Processing Systems},
volume={34},
pages={15032--15043},
year={2021}
}
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码发行版
构建发行版
pettingzoo-1.24.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 91f9094f18e06fb74b98f4099cd22e8ae4396125e51719d50b30c9f1c7ab07e6 |
|
MD5 | bed09a19d1e7b5dbf14c51816439bf4d |
|
BLAKE2b-256 | 1c9f0158a60109ba43e343e16b257ffa5690607b0bccbcdd0feb7b4f07903d85 |
pettingzoo-1.24.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23ed90517d2e8a7098bdaf5e31234b3a7f7b73ca578d70d1ca7b9d0cb0e37982 |
|
MD5 | fc3baaab0d33c522d70e57537e0bc412 |
|
BLAKE2b-256 | c84eeae7b6ecb801573fbec0c76b0fd1dd95bfd1a7fd8770bdd20242044e91f0 |