Skip to content

kgd-al/abrain

Repository files navigation

Artificial Brains (ABrain) for Python

C++/Python implementation of fully evolvable Artificial Neural Networks. Uses the ES-HyperNEAT algorithms to indirectly encode ANNs with bio-mimetic patterns (repetitions, symmetry...), large number of neurons and relative robustness to input/output variations between generations. The API is served in Python and computations are performed in C++.

Documentation Status PEP8 PyPI version Downloads

tested on latest

Development

Optional dependencies:

Graphviz (dot)

To generate directed graphs for the genomes. Can only be fetched by system installer (apt-get, yum, ...). See https://graphviz.org/download/ for instructions

Kaleido

To generate non-interactive images of ANN (through plotly). Due to inconsistent support, left as an optional dependency. Use pip install abrain[...,kaleido] to get it

Todo list:

  • Functionalities:
    • Order-independent ANN evaluation (with back buffer)?

    • Crossover / historical markings

      • Actually needed?
    • MANN Integration

      • Easy extraction
      • built-in testing
      • C++ wrapper
      • Visu
    • Misc:

      • Documentation
        • Advanced usage

        • move to scikit/poetry/... ?

    • CI/CD

      • Recent install gives no loadimage plugion for "svg:cairo" for pdf output