Overview#

Syllabus is a library for using curriculum learning to train reinforcement learning agents. It provides a Curriculum API from defining curriculum learning algorithms, implementations of popular curriculum learning methods, and a framework for synchronizing those curricula across environments running in multiple processes. Syllabus makes it easy to implement curriculum learning methods and add them to existing training code. It takes only a few lines of code to add a curriculum to an existing training script, and because of the shared Curriculum API, you can swap out different curriculum learning methods by changing a single line of code.

It currently has support for environments run with Python native multiprocessing or Ray actors, which includes nearly any existing RL library. We have working examples with CleanRL, RLLib, Stable Baselines 3, PufferLib, Moolib, and Monobeast (Torchbeast). Syllabus also supports multiagent PettingZoo environments.