Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JAX
  3. evosax

evosax

Apache-2.0Pythonv.0.2.0

A comprehensive, high-performance library implementing 30+ Evolution Strategies in JAX for scalable optimization on modern hardware.

GitHubGitHub
778 stars62 forks0 contributors

What is evosax?

evosax is a Python library that implements a wide range of Evolution Strategies (ES) using JAX. It provides a high-performance, unified API for gradient-free optimization, enabling scalable execution on modern hardware accelerators like GPUs and TPUs. The library solves the problem of inefficient, asynchronous neuroevolution implementations by leveraging JAX's compilation and vectorization capabilities.

Target Audience

Researchers and practitioners in machine learning and optimization who need scalable, hardware-accelerated evolutionary algorithms for black-box optimization, reinforcement learning, or neuroevolution tasks.

Value Proposition

Developers choose evosax for its comprehensive collection of 30+ ES algorithms, seamless integration with JAX's transformation primitives for massive speedups, and production-ready implementation that eliminates the overhead of traditional distributed ES setups.

Overview

Evolution Strategies in JAX 🦎

Use Cases

Best For

  • Black-box optimization of complex, non-differentiable functions
  • Reinforcement learning policy search with neuroevolution
  • Training neural networks (MLPs, CNNs) using evolutionary algorithms
  • Hyperparameter tuning and automated machine learning (AutoML)
  • Benchmarking and comparing different evolution strategies
  • Research on scalable, hardware-accelerated evolutionary computation

Not Ideal For

  • Projects with differentiable objectives where gradient-based optimization is more sample-efficient
  • Environments locked into PyTorch or TensorFlow without JAX compatibility
  • Applications requiring real-time, low-latency optimization due to JAX's JIT compilation overhead
  • Small-scale optimization problems where the overhead of vectorization and hardware acceleration isn't justified

Pros & Cons

Pros

Extensive Algorithm Portfolio

Implements over 30 classic and modern evolution strategies, from CMA-ES to Diffusion Evolution, providing a comprehensive toolkit for diverse optimization scenarios as listed in the README.

Hardware-Accelerated Performance

Leverages JAX's jit, vmap, and lax.scan transformations for compiled, high-throughput execution on GPUs and TPUs, eliminating traditional distributed implementation overhead.

Unified API Design

Follows a consistent ask-eval-tell cycle across all strategies, making it easy to switch algorithms without restructuring code, as demonstrated in the basic usage examples.

Production-Ready Features

Includes utilities like ClipUp, fitness shaping, and restart strategies, backed by thorough testing, documentation, and examples for real-world research and deployment.

Cons

JAX Framework Lock-in

Tightly coupled with JAX, requiring users to adopt JAX for their entire workflow, which can be a barrier for projects using other deep learning frameworks like PyTorch or TensorFlow.

Setup and Configuration Complexity

Installing and configuring JAX for specific hardware accelerators like TPUs can be non-trivial, adding initial setup overhead compared to pure Python ES libraries.

Compilation Latency for Prototyping

The JIT compilation in JAX introduces upfront latency, making evosax less suitable for rapid iteration on small-scale or frequently changing optimization tasks.

Frequently Asked Questions

Quick Stats

Stars778
Forks62
Contributors0
Open Issues3
Last commit3 months ago
CreatedSince 2020

Tags

#genetic-algorithms#jax#hardware-acceleration#evolution-strategies#optimization#neuroevolution#machine-learning#black-box-optimization

Built With

J
JAX
P
Python

Included in

JAX2.1k
Auto-fetched 3 hours ago

Related Projects

ALXALX

Google Research

Stars38,426
Forks8,461
Last commit1 day ago
OryxOryx

Probabilistic reasoning and statistical analysis in TensorFlow

Stars4,421
Forks1,125
Last commit16 days ago
BRAXBRAX

Massively parallel rigidbody physics simulation on accelerator hardware.

Stars3,208
Forks345
Last commit15 days ago
MctxMctx

Monte Carlo tree search in JAX

Stars2,645
Forks208
Last commit15 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub