Inspiration
Reinforcement Learning is a rapidly expanding subfield of AI. One of the current major challages to the field is difficulty of reproducing results and lack of accesibility for newcomers. GenRL is our attempt to make it easier for people to understand and get started with RL as well as providing a standardised way for researchers to reproduce results.
What it does
GenRL has the following goals -
- Approachability and accessibility: We have included multiple tutorials and extensive documentation to lower the barrier for newcomers to the field to get working models.
- Extensibility: Be easy to extend core functions of the library for implementing novel agents and new research.
- Modularity: By separating out all the underlying common features of each algorithm.
Features -
- Unified Trainer and Logger class: code reusability and high-level UI
- Ready-made algorithm implementations: ready-made implementations of popular RL algorithms.
- Extensive Benchmarking
- Environment implementations
- Heavy Encapsulation useful for new algorithms
How we built it
The project was built completely in an Open Source manner on GitHub. What originally was a core group of people has expanded to include multiple open source contributors.
Challenges we ran into
- Creating base classes that are extendible to any algorithm
- What should be the core of the library?
- What abstraction layers should be created?
Accomplishments that we're proud of
- Agent encapsulations
- Abstraction layers that are extensible to any new algorithm
What we learned
- Open Source software developement
- Working in a team
- Pytorch core
- Reinforcement Learning
What's next for GenRL - A PyTorch Reinforcement Learning library
- Including other key areas of RL such as multi agent and evolutionary
- Providing extensive support for distributed training of agents
- Expanding tutorials to cover wide range of topics in RL
Log in or sign up for Devpost to join the conversation.