EvoNet: Evolving end-to-end computational networks ########################################################################################################## |docs| |circleci| |license|
.. begin_badges
.. |docs| image:: https://readthedocs.com/projects/evonet/badge/?version=latest :alt: Documentation Status :target: https://evonet.readthedocs.io/en/latest/?badge=latest
.. |circleci| image:: https://circleci.com/gh/dmccloskey/EvoNet.svg?branch=develop?style=svg :alt: CircleCI Build Status (Windows, Linux & macOS) :target: https://circleci.com/gh/dmccloskey/EvoNet
.. |license| image:: https://img.shields.io/github/license/dmccloskey/EvoNet.svg :alt: License MIT Clause :target: https://github.com/dmccloskey/EvoNet/blob/develop/LICENSE
.. end_badges
.. begin_introduction
EvoNet aims to provide a machine learning framework that can optimize both network weights AND network structure simultaneously while still taking advantage of the latest hardware acceleration technology (Fig 1).
.. image:: images/Schematic_GraphNetwork.png
Currently, network structure is optimized using an evolutionary algorithm over network node integration and activation functions and over node connections (Fig 2), while network weights are optimized using standard backpropogation.
.. image:: images/Schematic_mutationOperations.png
EvoNet is written in C++ and is optimized for hardware acceleration using native threading and CUDA GPU technology.
.. end_introduction
.. role:: bash(code) :language: bash
.. begin_examples
./src/examples
directory, and can be built using the provided CMAKE
scripts... begin_examples
.. begin_features
.. end_features
.. begin_code
./src/tests
directory, and can be ran using CTest
... end_code