Shmuma/ptan

PyTorch Agent Net: reinforcement learning toolkit for pytorch

PTAN – PyTorch AgentNet

概要 – PTANは、PyTorch を使用した強化学習 (RL) エージェントのための AgentNet フレームワークを再実装した軽量な Python ライブラリです。書籍 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 – 第2版の書籍に対応したコード、PyTorch 1.3 用に構築
  • torch-1.7master にマージ済み

ドキュメント – Jupyter notebook による入門ガイドが docs/intro.ipynb に用意されています。experience-source ユーティリティの詳細については、README にリンクされている issue のコメントを参照してください。

典型的なワークフロー (README から推測される概要)

  1. ライブラリとその依存関係をインストールする。
  2. Gym 環境を作成する。
  3. ExperienceSource を使用して (state, action, reward, next_state) タプルのバッチを生成する。
  4. それらのバッチを Ignite トレーナー内の PyTorch モデルに供給する。
  5. TensorBoardX でメトリクスを記録する。

対象読者 – ボイラープレートコードを書くことなく、PyTorch で強化学習エージェントを構築・学習するための既製の足場を求めている開発者や研究者。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト