EvolvePy is a Python module created to allow the easy creation and execution of evolutionary algorithms.
Project description
EvolvePy
EvolvePy is a Python module created to allow the easy creation and execution of evolutionary algorithms.
Documentation: EvolvePy's documentation.
Presentation video (Portuguese, click on the image):
Features
(Links to example using the feature)
- Allows to create complex individual generators using different strategies:
- Crossover (one-point, n-point, mean)
- Mutation (sum, multiplication, binary)
- Dynamic mutation
- Elitism
- Randomic predation
- Incremental evolution
- Define individuals with different chromosomes, with different types, ranges, sizes and parameters in the generator.
- Evaluate individuals using simple functions or multiple processes.
- Fitness cache to avoid evaluate the same individual several times.
- Fitness functions with different scores, which can be aggregated with different strategies.
- Evaluate the same individual several times to avoid noise.
- Log the evolution data to analyze later.
- Integrations with other modules:
- Wandb
- Tensorflow/Keras
- Gym
- Unity ML Agents (using Gym)
Installation
-
EvolvePy can be installed using pip:
pip install --upgrade pip pip install evolvepy
-
For install with all integrations dependecies (gym, tensorflow, wandb, gym_unity):
pip install --upgrade pip pip install evolvepy[all_integrations]
-
For installing from the repository:
git clone https://github.com/EltonCN/evolvepy cd evolvepy pip install --upgrade pip pip install .
Examples
The "examples" folder have a lot of examples of how to use EvolvePy.
Authors
Created by students from Unicamp's Institute of Computing (IC-Unicamp) as a project for the evolutionary systems subject at ICMC-USP, taught by prof. Eduardo do Valle Simoes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file evolvepy-2.0.0.tar.gz
.
File metadata
- Download URL: evolvepy-2.0.0.tar.gz
- Upload date:
- Size: 44.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c09a965e619d5c1157de852053f3b0da2dee432e8fd97b1a93ef0fdc452cc13c |
|
MD5 | 38ec39690ba78af881c3a8a7fefd995c |
|
BLAKE2b-256 | 619ab11ee79d474af33d23253223c56667db9eee51a097e13741af4df9b5a8b3 |
File details
Details for the file evolvepy-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: evolvepy-2.0.0-py3-none-any.whl
- Upload date:
- Size: 53.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16076583dcf8d97619f10b037b32e6cc2ba9592c506a450d8bd4b139e368a3fe |
|
MD5 | d5182e0ce0a006757caef1b36a8a2847 |
|
BLAKE2b-256 | b78c2d6e9de936f3e620581fdfaab1077b3c33c40bd454cded542489acd5fb19 |