Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A library for ready-made reinforcement learning agents and reusable components for neat prototyping
| Date | Stars |
|---|---|
| 2026-07-31 | 303 |
| 2026-08-01 | 303 |
| 2026-08-02 | 303 |
| 2026-08-06 | 303 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# RLcycle
[](https://opensource.org/licenses/MIT)
<!-- [](https://lgtm.com/projects/g/cyoon1729/RLcycle/context:python) -->
[](https://github.com/ambv/black)
[](https://lgtm.com/projects/g/cyoon1729/RLcycle/alerts/)
RLcycle (pronounced as "recycle") is a reinforcement learning (RL) agents framework. RLcycle provides ready-made RL agents, as well as reusable components for easy prototyping.
Currently, RLcycle provides:
- DQN + enhancements, Distributional: C51, Quantile Regression, Rainbow-DQN.
- Noisy Networks for parameter space noise
- A2C (data parallel) and A3C (gradient parallel).
- DDPG, both Lillicrap et al. (2015) and Fujimoto et al., (2018) versions.
- Soft Actor Critic with automatic entropy coefficient tuning.
- Prioritized Experience Replay and n-step updates for all off-policy algorithms.
RLcycle uses:
- [PyTorch](https://github.com/pytorch/pytorch) for computations and building and optimizing models.
- [Hydra](https://github.com/facebookresearch/hydra) for configuring and building agents.
- [Ray](https://github.com/ray-project/ray) for parallelizing learning.
- [WandB](https://www.wandb.com/) for logging training and testing.
See below for an introduction and guide to using RLcycle, performance benchmarks, and future plans.
#### Contributing
If you have any questions or suggestions, feel free to raise an issue or reach out at `cjy2129 [at] columbia [dot] edu`!
## Getting Started
To install:
```
conda create --name myenv python=3.6.9 pip
conda activate myenv
git clone https://github.com/cyoon1729/RLcycle.git
cd RLcycle
pip install -U -r requirements.txt
pip install -e .
```
<details>
<summary> <b> 0. A quick look at Hydra for managing configurations </b></summary>
Let's first take a look at one of the many useful things <a href=https://hydra.cc/> Hydra </a> can do:
```yaml
"""Instantiating classes from yaml files"""
# in ./examples/rectangle.yaml
shape:
class: examples.shapes.Rectangle
params:
height: 5
width: 4
```
Initializing `shapes.Rectangle` with `hydra` as in the above yaml file:
```python
"""Instantiating classes from yaml files"""
# in ./examples/shapes.py
class Rectangle:
def __init__(self, width: float, height: float):
self.width = width
self.height = height
def get_area(self):
return width * height
# in ./examples/main.py
import hydra
from omegaconf import DictConfig
@hydra.main(config_path="./examples/rectangle.yaml")
def main(cfg: DictConfig):
shape = hydra.utils.instantiate(layer_info)
print(shape.__class__.__name__) # 'Rectangle'
print(shape.get_area()) # 20
if __main__ == "__main__":
main()
```
If you would like to know more about `Hydra`, check <a href=https://hydra.cc/> their documentation </a> out!
</details>
<details>
<summary> <b> 1. Running experiments </b></summary>
Run the `run_agent.py` file and specify the experiment configuration as below:
```shell
python run_agent.py configs=atari/rainbow_dqn
```
Alternatively, you can specify the configuration (yaml) file in `metaconfig.yaml`.
```yaml
# in ./metaconfig.yaml
defaults:
- configs=atari/rainbow_dqn
```
To modify experiment arguments or hyperparameters, you can add the flags as below:
```shell
python run_agent.py configs=atari/rainbow_dqn configs.experiment_info.env.name=AlienNoFrameskip-v4
python run_agent.py configs=atari/rainbow_dqn configs.hyper_params.batch_size=64
python run_agent.py configs=pybullet/sac configs.hyper_params.batch_size=64
```
</details>
<details>
<summary> <b> 2. Building configurations for RLcycle </b> </summary>
Let's take `atari/rainbExcerpt of 14,261 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:56c90ccfce783ed8, llm:Topics: a2c, a3c, ddpg, dqn, reinforcement-learning, sac; description: 'A library for ready-made reinforcement learning agents and reusable components for neat prototyping'
matched fp:56c90ccfce783ed8, llm:Topics: a2c, a3c, ddpg, dqn, reinforcement-learning, sac; description: 'A library for ready-made reinforcement learning agents and reusable components for neat prototyping'
matched fp:56c90ccfce783ed8, llm:Topics: a2c, a3c, ddpg, dqn, reinforcement-learning, sac; description: 'A library for ready-made reinforcement learning agents and reusable components for neat prototyping'