用途:PufferLib 是高性能强化学习库,用于快速并行环境模拟与训练,通过向量化、原生多智能体支持和高效 PPO 实现(PuffeRL)达到每秒数百万步的训练速度,并提供 Ocean 套件(20+ 环境)及与 Gymnasium、PettingZoo 等框架的集成。
主要能力:PuffeRL 为优化后的 PPO+LSTM 训练算法,宣称可达 1M-4M 步/秒;支持分布式多 GPU/多节点训练、日志集成(Weights & Biases、Neptune)、检查点与恢复、课程学习。PufferEnv API 用于编写自定义高性能环境,支持向量/图像/字典观测空间与离散、连续、多离散动作空间。向量化支持共享内存零拷贝、忙等待标志、异步返回等优化。策略以标准 PyTorch 模块构建,支持 CNN、LSTM、多输入、连续动作与多智能体策略。集成支持 Gymnasium/OpenAI Gym、PettingZoo、Atari、Procgen、NetHack/MiniHack、Minigrid、Neural MMO、Crafter、GPUDrive、MicroRTS、Griddly 等。
使用方式:安装命令为 uv pip install pufferlib。CLI 训练示例:puffer train procgen-coinrun --train.device cuda --train.learning-rate 3e-4;分布式训练:torchrun --nproc_per_node=4 train.py。Python 中可用 pufferlib.make('procgen-coinrun', num_envs=256) 创建向量化环境,用 PuffeRL(env=env, policy=my_policy, device='cuda', learning_rate=3e-4, batch_size=32768) 创建训练器,循环调用 trainer.evaluate()、trainer.train()、mean_and_log()。自定义环境继承 PufferEnv,实现 reset() 与 step()。Gymnasium 环境可用 pufferlib.emulate(gym_env, num_envs=256) 包装。
适用场景:单/多智能体 PPO 训练、自定义环境开发、并行模拟性能优化、现有环境集成、CNN/LSTM/自定义策略开发、大规模快速实验。
限制:资料未提供具体收费、价格与平台支持信息;性能数字为资料中宣称值,实际效果取决于环境与配置;部分高级用法需参考其 references 文档。