sample-factory
rlpyt
sample-factory | rlpyt | |
---|---|---|
6 | 4 | |
743 | 2,197 | |
- | - | |
7.9 | 0.0 | |
5 days ago | over 3 years 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.
sample-factory
-
A minimal RL library for infinite horizon tasks
I take a lot of inspiration from Sample Factory and RLlib for my own RL library's implementation. Although I thoroughly enjoy both of these libraries, they just didn't quite fit right with my use case which motivated me to start my own. Hopefully someone finds use in rlstack whether it be through direct usage or as inspiration for their own personalized library
-
Fast and hackable frameworks for RL research
I'm tired of having my 200m frames of Atari take 5 days to run with dopamine, so I'm looking for another framework to use. I haven't been able to find one that's fast and hackable, preferably distributed or with vectorized environments. Anybody have suggestions? seed-rl seems promising but is archived (and in TF2). sample-factory seems super fast but to the best of my knowledge doesn't work with replay buffers. I've been trying to get acme working but documentation is sparse and many of the features are broken.
-
Multi-agent Decentralized Training with a PettingZoo environment
Hi, try sample-factory
-
How is IMPALA as a framework?
Sample Factory: https://github.com/alex-petrenko/sample-factory
-
The Myth of a Superhuman AI
Everything in this reply is wrong.
In AlphaZero for example, there were 44 million training games total for 700,00x0 steps of training for the full 9 hours.
Turning that human-like numbers, 44million games with on average 60 moves, at 1 second thinking time per move,
> 44000000*60/60/60/24/365 = 83,7138508371 years of training experience in 9 hours
The whole field of Reinforcement learning has agents training and playing games for many orders of magnitude more time than a human ever will. In-fact, we can scale this to over 100k of actions per second, in a single machine:
https://github.com/alex-petrenko/sample-factory
Then, there is also distributed Reinforcement Learning, where hundreds of agents can play at different machines and share experience, see AlphaZero, LeelaZero, R2D2 agent, R2D3 agent, Apex, Acer, Asynchronous PPO.
> but the data isn't useful without the context of experience
The experience is the data in Reinforcement Learning.
> and all processing power can do it overfit model without experience.
That is wrong, the agents perform what is called exploration to avoid getting stuck in simple strategies.
> Even if we put AI into an army of robots running around and experiencing things, there are still scaling limits to encoding and communicating knowledge and understanding.
True, but machines scale better because they speak the same language, or they can learn to tune their language to get their message across.
> Human organizations are a great example of the scaling limits of intelligence.
Human organization is a testament to how far we can get with something as limiting as the commonly used language. The language that we use to communicate is subject to misinterpretation due to our subjective experiences, this limitation is not shared by machines.
-
Best PyTorch RL library for doing research
I borrow a lot of performance tricks from sample factory, which is awesome but hard to modify from its original APPO algorithm. rlpyt was more modular, and I borrowed more ideas from it (namedarraytuple), but still too limited.
rlpyt
-
About Prior Action Distribution in Entropy Regularized Actor-Critic Methods
The above example is from rlpyt library's SAC algorithm.
-
Best PyTorch RL library for doing research
I borrow a lot of performance tricks from sample factory, which is awesome but hard to modify from its original APPO algorithm. rlpyt was more modular, and I borrowed more ideas from it (namedarraytuple), but still too limited.
-
Spec for RL agent implementation?
rlpyt also has abstractions for additional things besides environments: https://github.com/astooke/rlpyt
-
PPO+LSTM Implementation
rlpyt is a library I’m studying right now, could be worth a shot; the code base is somewhat complex but after some reading it’s not so bad :)
What are some alternatives?
cleanrl - High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features (PPO, DQN, C51, DDPG, TD3, SAC, PPG)
stable-baselines3 - PyTorch version of Stable Baselines, reliable implementations of reinforcement learning algorithms.
gym - A toolkit for developing and comparing reinforcement learning algorithms.
tianshou - An elegant PyTorch deep reinforcement learning library.
machin - Reinforcement learning library(framework) designed for PyTorch, implements DQN, DDPG, A2C, PPO, SAC, MADDPG, A3C, APEX, IMPALA ...
minimalRL - Implementations of basic RL algorithms with minimal lines of codes! (pytorch based)
rl8 - A high throughput, end-to-end RL library for infinite horizon tasks.
acme - A library of reinforcement learning components and agents
torchbeast - A PyTorch Platform for Distributed RL