estool  by hardmaru

Evolution Strategies tool for reinforcement learning research

Created 8 years ago
950 stars

Top 38.6% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides an implementation of various Evolution Strategies (ES) algorithms, including GA, Population-based REINFORCE, CMA-ES, and OpenAI's ES, with a common interface. It's designed for researchers and practitioners in reinforcement learning and evolutionary computation who need a flexible tool for optimizing policies or controllers, particularly in simulated environments.

How It Works

The core of the tool is the EvolutionStrategy class, which abstracts the ask-tell interface common to ES algorithms. Users provide candidate solutions via solver.ask(), evaluate them to obtain rewards, and then feed these rewards back using solver.tell(). This approach allows for easy integration of different ES variants and simplifies the process of experimenting with various optimization strategies. The library supports parallel processing via mpi4py for distributed training.

Quick Start & Requirements

  • Install: pip install -r requirements.txt (or manually install dependencies).
  • Prerequisites: NumPy (tested with 1.13.3), OpenAI Gym (tested with 0.9.4), cma (2+), PyBullet (tested with 1.6.3), Python 3, mpi4py. Some environments may require Box2D.
  • Setup: MPI setup on Windows requires MS-MPI and Visual Studio C++ compiler.
  • Docs: Evolving Stable Strategies

Highlighted Details

  • Implements GA, Population-based REINFORCE, CMA-ES (via pycma), and OpenAI ES.
  • Supports parallel training using mpi4py for distributed computation.
  • Includes self-contained examples like Cartpole Swingup and Slime Volleyball.
  • Provides utilities for plotting training progress from .hist.json files.

Maintenance & Community

The project is maintained by hardmaru. The primary reference is a blog post from 2017. No explicit community channels (like Discord/Slack) are mentioned.

Licensing & Compatibility

The repository does not explicitly state a license in the README. This requires clarification for commercial use or integration into closed-source projects.

Limitations & Caveats

The project relies on older versions of dependencies like OpenAI Gym (0.9.4), which may cause compatibility issues with newer Gym APIs. The lack of an explicit license is a significant caveat for adoption.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Jiayi Pan Jiayi Pan(Author of SWE-Gym; MTS at xAI) and Jianwei Yang Jianwei Yang(Research Scientist at Meta Superintelligence Lab).

allenact by allenai

0%
369
Open-source framework for embodied AI research
Created 5 years ago
Updated 3 weeks ago
Starred by Hanlin Tang Hanlin Tang(CTO Neural Networks at Databricks; Cofounder of MosaicML), Amanpreet Singh Amanpreet Singh(Cofounder of Contextual AI), and
2 more.

coach by IntelLabs

0%
2k
Reinforcement learning framework for experimentation (discontinued)
Created 8 years ago
Updated 2 years ago
Feedback? Help us improve.