evostra  by alirezamika

Python library for evolution strategy optimization

created 8 years ago
274 stars

Top 95.2% on sourcepulse

GitHubView on GitHub
Project Summary

Evostra is a Python library for Evolution Strategy (ES) optimization, designed for AI researchers and engineers. It provides a fast and flexible implementation of ES, enabling users to optimize neural network weights and other parameters without requiring complex gradient calculations. The library's core benefit is its ease of integration with various deep learning frameworks by abstracting weight management.

How It Works

Evostra implements Evolution Strategy, a gradient-free optimization technique inspired by natural selection. It works by maintaining a population of candidate solutions (e.g., neural network weights), perturbing them with noise, and selecting the fittest individuals based on a reward function. This approach is advantageous for problems where gradients are difficult or impossible to compute, or when dealing with noisy reward signals.

Quick Start & Requirements

  • Install from PyPI: pip install evostra
  • Compatible with Python 2 and 3.
  • Official documentation and sample usages are available via links in the README.

Highlighted Details

  • Fast implementation of Evolution Strategy.
  • Framework-agnostic: accepts weights as lists of NumPy arrays, allowing integration with Keras, TensorFlow, PyTorch, etc.
  • Includes a built-in FeedForwardNetwork model for optimized performance.
  • Supports parallelization via num_threads for computationally expensive tasks.

Maintenance & Community

The project appears to be a personal project by alirezamika. No specific community channels or active maintenance signals are present in the README.

Licensing & Compatibility

The README does not explicitly state a license. This requires further investigation for commercial use or closed-source linking.

Limitations & Caveats

The project is marked with a "Todo" item for "distribution support over network," suggesting potential limitations in distributed training capabilities. The lack of an explicit license is a significant caveat for adoption.

Health Check
Last commit

5 years ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.