Project Icon

PettingZoo

Python多智能体强化学习库

PettingZoo是一个Python库,专为多智能体强化学习研究设计。它采用Agent Environment Cycle (AEC)游戏模型,提供统一的API支持各类多智能体环境。该库包含Atari、Butterfly、Classic等多个环境家族,支持多样化的智能体交互。PettingZoo还提供并行API用于同步行动场景,并通过严格的版本控制确保实验可重现性。

pre-commit 代码风格: black

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

文档网站位于pettingzoo.farama.org,我们还有一个公共Discord服务器(我们也用它来协调开发工作),您可以在这里加入:https://discord.gg/nhvKkYa6qX

环境

PettingZoo包含以下环境系列:

安装

安装基本的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,但不正式支持它。

注意:某些Linux发行版可能需要手动安装cmakeswigzlib1g-dev(例如,sudo apt install cmake swig zlib1g-dev

入门

PettingZoo的介绍,请参见基本用法。要创建新环境,请参阅我们的环境创建教程自定义环境示例。 有关使用PettingZoo训练强化学习模型的示例,请参阅我们的教程:

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()  # 这里是您插入策略的地方
    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"之类的后缀结尾。当对环境进行可能影响学习结果的更改时,数字会增加一以防止潜在的混淆。

项目维护者

项目经理: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}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号