Shmuma/ptan

PyTorch Agent Net: reinforcement learning toolkit for pytorch

PTAN – PyTorch AgentNet

它是什么 – PTAN 是一个轻量级的 Python 库,使用 PyTorch 为强化学习 (RL) 智能体重新实现了 AgentNet 框架。它提供了在 Deep Reinforcement Learning Hands-On 一书中使用的辅助类(例如:经验回放池、训练循环)。

关键组件

  • ExperienceSourceExperienceSourceFirstLast – 用于从 OpenAI-Gym 环境收集轨迹的工具。
  • PyTorch Ignite 集成,以简化训练循环。
  • 可选的 TensorBoardX 日志记录和 OpenCV 可视化支持。

支持的环境 – 任何与 OpenAI Gym 兼容的环境,包括 Atari 游戏 (gym[atari])。

安装

# 从 PyPI 安装 (推荐)
pip install ptan

# 或直接从仓库安装
pip install git+https://github.com/Shmuma/ptan.git

# 从源码安装
python setup.py install

依赖项 (如 README 中所列)

  • PyTorch ≥ 1.1.0 (在 master 分支上测试至 1.7)
  • PyTorch-Ignite
  • OpenAI Gym (加上可选的 atari 额外包)
  • opencv-python
  • tensorboardX (或 Anaconda 用户的 tensorboard-pytorch)

版本控制 – 仓库针对不同的 PyTorch 主要版本维护独立的分支:

  • master – 最新测试的 PyTorch (目前为 1.7)
  • torch-1.3-book-ed2 – 与第二版书籍相符的代码,针对 PyTorch 1.3 构建
  • torch-1.7 – 已合并至 master

文档docs/intro.ipynb 中提供了 Jupyter notebook 介绍。若要深入了解 experience-source 工具,请参阅 README 中链接的问题评论。

典型工作流程 (高阶概述,从 README 推断)

  1. 安装库及其依赖项。
  2. 创建 Gym 环境。
  3. 使用 ExperienceSource 生成 (state, action, reward, next_state) 元组批次。
  4. 将这些批次输入到 Ignite 训练器内的 PyTorch 模型中。
  5. 使用 TensorBoardX 记录指标。

适用对象 – 希望在 PyTorch 中构建和训练 RL 智能体,且不想编写样板代码的开发人员与研究人员。

相关

  • 项目
  • 项目
  • 项目
  • 项目