PPO-PyTorch
PPO-for-Beginners
PPO-PyTorch | PPO-for-Beginners | |
---|---|---|
2 | 1 | |
1,493 | 653 | |
- | - | |
2.8 | 4.2 | |
5 months ago | 5 months ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PPO-PyTorch
-
Where does the loss function for Policy Gradient come from?
It's just very convient implementation wise, in just a few lines you can get the "loss": (from https://github.com/nikhilbarhate99/PPO-PyTorch/blob/master/PPO.py)
-
A2C/PPO with continuous action space
In some methods, like the one here, the actor network has two heads, one for the mean and one for the variance. In other methods, like the one here, the network only outputs the mean, while the variance is pre-defined and is decaying throughout the training.
PPO-for-Beginners
-
Why does this PPO implementation calculate the Advantage only once per rollout?
I am looking at this PPO implementation, which follows the pseudocode given in Spinning Up. This implementation has been really easy to follow and I understand almost everything. However, I am lost in line 103, where the author computes the normalized advantage before the rollout -
What are some alternatives?
HandyRL - HandyRL is a handy and simple framework based on Python and PyTorch for distributed reinforcement learning that is applicable to your own environments.
stable-baselines3 - PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.
l2rpn-baselines - L2RPN Baselines a repository to host baselines for l2rpn competitions.
pytorch-learn-reinforcement-learning - A collection of various RL algorithms like policy gradients, DQN and PPO. The goal of this repo will be to make it a go-to resource for learning about RL. How to visualize, debug and solve RL problems. I've additionally included playground.py for learning more about OpenAI gym, etc.
Pytorch-PCGrad - Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
R-NaD - Experimentation with Regularized Nash Dynamics on a GPU accelerated game
cleanrl - High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features (PPO, DQN, C51, DDPG, TD3, SAC, PPG)
pytorch-accelerated - A lightweight library designed to accelerate the process of training PyTorch models by providing a minimal, but extensible training loop which is flexible enough to handle the majority of use cases, and capable of utilizing different hardware options with no code changes required. Docs: https://pytorch-accelerated.readthedocs.io/en/latest/
stable-baselines3-contrib - Contrib package for Stable-Baselines3 - Experimental reinforcement learning (RL) code
nes-torch - Minimal PyTorch Library for Natural Evolution Strategies
autonomous-learning-library - A PyTorch library for building deep reinforcement learning agents.