Tutorials¶
Tutorials are Python notebooks with detailed explanations of pyribs usage. They may be run locally or on Google Colab. Each tutorial page has a link to open the tutorial in Google Colab.
Algorithms¶
These tutorials demonstrate how to use the key algorithms in pyribs. We recommend that new users start with the lunar lander tutorial and one or more of the other algorithm tutorials.
Using CMA-ME to Land a Lunar Lander Like a Space Shuttle: Our introductory tutorial. Covers the CMA-ME algorithm and various basic library features.
Upgrading CMA-ME to CMA-MAE on the Sphere Benchmark: Shows how to implement CMA-MAE, a powerful algorithm built on CMA-ME, on the sphere linear projection benchmark.
Generating Tom Cruise Images with DQD Algorithms: Covers CMA-MEGA and CMA-MAEGA, two algorithms designed for differentiable quality diversity problems (QD problems where gradients are available).
Incorporating Human Feedback into Quality Diversity for Diversified Text-to-Image Generation: Illustrates how to implement the QDHF algorithm on the problem of latent space illumination with a stable diffusion model.
Scaling CMA-MAE on the Sphere Benchmark: How to use variants of CMA-MAE that scale to thousands or even millions of parameters.
Applications¶
The following tutorials show how pyribs can implement a variety of algorithms for different problems.
Illuminating the Latent Space of an MNIST GAN: Generates diverse handwritten MNIST digits with CMA-ME.
Learning a Repertoire of Robot Arm Configurations: Combines CMA-ME with a CVTArchive to search for optimal configurations for a robot arm.
Generating Images to Fool an MNIST Classifier: Searches for misclassified MNIST images with MAP-Elites.
Running Locally¶
If you would like to run the tutorials locally, follow these instructions:
Download the notebooks from GitHub here.
Install Jupyter Lab:
pip install jupyterlab
Start Jupyter Lab. This should open a window in your browser.
jupyter lab
Open the notebook from within the Jupyter Lab browser window.
Note that each notebook contains cell magic that installs the dependencies it needs for execution, so even if you have not installed the dependencies on your own, running the notebook will install the dependencies for you.