用途:PufferLib 用于强化学习训练与高性能并行环境模拟,支持单智能体和多智能体任务,目标是把 RL 扩展到每秒数百万步以加快实验。
主要能力:PuffeRL 是优化的 PPO+LSTM 训练算法,资料称可达 1M-4M 步/秒;提供 PufferEnv API 用于编写自定义环境;支持向量化并行模拟,含共享内存零拷贝、忙等待标志、异步返回等优化;提供 Ocean 套件 20+ 环境;可集成 Gymnasium、PettingZoo、Atari、Procgen、NetHack、Minigrid、Neural MMO、Crafter、GPUDrive、MicroRTS、Griddly 等;策略为 PyTorch 模块,支持 CNN、LSTM、多输入、连续动作和多智能体策略。
使用方式:安装命令为 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(),并定义 observation_space 与 action_space。Gymnasium 环境可用 pufferlib.emulate(gym_env, num_envs=256) 包装。
适用场景:标准基准训练(Atari、Procgen、Minigrid)、多智能体学习(PettingZoo)、自定义任务开发、高吞吐性能优化。
限制:资料未提供具体收费、价格、平台支持范围或效果保证;性能数字为资料所述,实际取决于环境实现与配置。官方文档 https://puffer.ai/docs.html,GitHub https://github.com/PufferAI/PufferLib。