跳转到主要内容

多智能体强化学习训练场。

项目描述

pre-commit Code style: black

PettingZoo 是一个用于进行多智能体强化学习研究的 Python 库,类似于 Gymnasium 的多智能体版本。

文档网站位于 pettingzoo.farama.org,我们有一个公开的 discord 服务器(我们也在那里协调开发工作),您可以通过以下链接加入:https://discord.gg/nhvKkYa6qX

环境

宠物动物园包含以下环境系列:

安装

要安装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模型的示例,请参阅我们的教程

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}
}

项目详情


发行历史 发行通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

pettingzoo-1.24.3.tar.gz (720.3 kB 查看哈希值)

源代码

构建发行版

pettingzoo-1.24.3-py3-none-any.whl (847.8 kB 查看哈希值)

Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面