Simple genetic algorithms framework for Python
Project description
## What is agios?
agios is an open source, Python 3 library for playing with genetic algorithms. Main functionality includes:
* Generic API allowing to easily implement custom tasks
* Highly customizable algorithm execution cycle
* Multithreading support
* Built-in support for images processing
* Multidimensional data processing
TODO list includes:
* Support for PyCUDA and processing on GPU
## How to install it?
```
pip install agios
```
## Where is an example code?
```python
from agios import evolution
from agios import extras
blueprint = extras.load_normalized_image('input/mona_lisa.jpg', extras.Greyscale)
evolution_problem_solver = evolution.SimpleSolver(
population_size=100,
best_samples_to_take=2,
blueprint=evolution.NumpyArraySample(blueprint),
mutator=evolution.SimplePaintbrushMatrixMutator((10, 15), (10, 50)),
crosser=evolution.MeanValueMatrixCrosser(),
loss_calculator=evolution.SquaredMeanMatrixLossCalculator(),
initial_sample_state_generator=evolution.RandomMatrixGenerator(blueprint.shape)
)
for _ in range(10000):
evolution_problem_solver.step()
```
Live examples can be found in examples/ directory.
## How to contribute?
Report observed issues or provide working pull request. Pull request must be verified before merging and it must include the following:
* Unit tests
* Public API marked with static typing annotations (typing module)
* Public classes must include brief documentation
agios is an open source, Python 3 library for playing with genetic algorithms. Main functionality includes:
* Generic API allowing to easily implement custom tasks
* Highly customizable algorithm execution cycle
* Multithreading support
* Built-in support for images processing
* Multidimensional data processing
TODO list includes:
* Support for PyCUDA and processing on GPU
## How to install it?
```
pip install agios
```
## Where is an example code?
```python
from agios import evolution
from agios import extras
blueprint = extras.load_normalized_image('input/mona_lisa.jpg', extras.Greyscale)
evolution_problem_solver = evolution.SimpleSolver(
population_size=100,
best_samples_to_take=2,
blueprint=evolution.NumpyArraySample(blueprint),
mutator=evolution.SimplePaintbrushMatrixMutator((10, 15), (10, 50)),
crosser=evolution.MeanValueMatrixCrosser(),
loss_calculator=evolution.SquaredMeanMatrixLossCalculator(),
initial_sample_state_generator=evolution.RandomMatrixGenerator(blueprint.shape)
)
for _ in range(10000):
evolution_problem_solver.step()
```
Live examples can be found in examples/ directory.
## How to contribute?
Report observed issues or provide working pull request. Pull request must be verified before merging and it must include the following:
* Unit tests
* Public API marked with static typing annotations (typing module)
* Public classes must include brief documentation
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file agios-2017.7.1-py2.py3-none-any.whl
.
File metadata
- Download URL: agios-2017.7.1-py2.py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6640f03940a1226bbf4fe26d69274978167f4becea4f08e0a513372da88d4965 |
|
MD5 | 6b242cc35380cdd86258c22f973fe863 |
|
BLAKE2b-256 | a4ad7c6e209cdfd361942e7ece050913e0802ab675690a2cc2addc3bbff773a4 |