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 代理程式,且不想編寫樣板程式碼的開發人員與研究人員。

相關

  • 專案
  • 專案
  • 專案
  • 專案