evostra  by alirezamika

Python library for evolution strategy optimization

Created 8 years ago
271 stars

Top 95.0% 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

Inactive

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

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Li Jiang Li Jiang(Coauthor of AutoGen; Engineer at Microsoft), and
26 more.

ColossalAI by hpcaitech

0.1%
41k
AI system for large-scale parallel training
Created 3 years ago
Updated 16 hours ago
Feedback? Help us improve.