用途:PufferLib 是面向高吞吐强化学习的高性能库,用于并行环境模拟与训练,支持单智能体与原生多智能体,通过向量化与高效 PPO 实现(PuffeRL)达到每秒数百万步。
主要能力:PuffeRL 优化 PPO 训练器(源自 CleanRL,可选 LSTM);PufferEnv API 用于编写自定义高性能环境;向量化并行模拟(共享内存零拷贝、忙等待标志、异步返回);策略开发(CNN、LSTM、多输入、连续动作、多智能体);集成 Gymnasium、PettingZoo、Atari、Procgen、NetHack、Minigrid、Neural MMO、Crafter、GPUDrive、MicroRTS、Griddly 等;Ocean 套件含 20+ 预置环境。
使用方式:安装 uv pip install "pufferlib==3.0.*"(PyPI 仅提供 sdist,需 C 编译器)。CLI 训练:puffer train puffer_breakout --train.device cuda --train.learning-rate 0.015;恢复检查点:puffer train puffer_breakout --load-model-path latest。Python 可用 pufferl.train('puffer_breakout'),或手动循环 PuffeRL(config, vecenv, policy),依次调用 evaluate()、train()、mean_and_log()。向量化用 pufferlib.vector.make(env_creator, num_envs=256, num_workers=8);原生 PufferEnv 用默认 backend,包装环境(Gymnasium/PettingZoo)须显式传 backend=pufferlib.vector.Multiprocessing。
适用场景:标准基准训练、多智能体学习、自定义任务开发、高吞吐性能优化。
限制:本技能针对 3.0 线;PufferLib 5.0 是不同产品,无 pip 包、已移除第三方集成、仅 CPU 评估无 CPU 训练,其 Python API 不适用。性能数字为官方公布值,随环境与硬件变化。其余细节暂未提供。