Shmuma/ptan
PyTorch Agent Net: reinforcement learning toolkit for pytorch
PTAN – PyTorch AgentNet
它是什么 – PTAN 是一个轻量级的 Python 库,使用 PyTorch 为强化学习 (RL) 智能体重新实现了 AgentNet 框架。它提供了在 Deep Reinforcement Learning Hands-On 一书中使用的辅助类(例如:经验回放池、训练循环)。
关键组件
ExperienceSource和ExperienceSourceFirstLast– 用于从 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 推断)
- 安装库及其依赖项。
- 创建 Gym 环境。
- 使用
ExperienceSource生成 (state, action, reward, next_state) 元组批次。 - 将这些批次输入到 Ignite 训练器内的 PyTorch 模型中。
- 使用 TensorBoardX 记录指标。
适用对象 – 希望在 PyTorch 中构建和训练 RL 智能体,且不想编写样板代码的开发人员与研究人员。
相关
- 项目
- 项目
- 项目
- 项目