Skip to content

An MPI-parallelized Python-wrapped C++ implementation of the NEAT (Neuro-Evolution of Augmenting Topologies) algorithm.

Notifications You must be signed in to change notification settings

fernandozhs/neatnik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEATnik

NEATnik is an MPI-parallelized Python-wrapped C++ implementation of the NEAT (Neuro-Evolution of Augmenting Topologies) algorithm originally developed by Kenneth Stanley.

Requirements

  • OpenMPI version 3.1.3 or superior.
  • GCC compiler compatible with C++17.
  • CMake version 3.10 or superior.
  • Python version 3.5 or superior.

Dependencies

  • pybind11: a lightweight header-only library that exposes C++ types in Python and vice versa.

Installation

Recursively clone this repository within the directory of your choice.

git clone --recursive https://github.com/fernandozhs/neatnik.git

Within ../neatnik, run the following commands to build both pybind11 and NEATnik.

chmod +x install.sh
./install.sh

If successful, this will have produced a file named neatnik.so within ../neatnik/build. In order to conclude the installation, ensure your PYTHONPATH environment variable points to the location of this shared library object.

Documentation

Utilities
 
Parameters
 
Experiment
         ┗━━ Genus ━━━ Species
                                                    ┗━━ Organism
                                           Phenotype ━━┻━━ Genotype
                                                                                           ┗━━ Chromosome
                                                                                                Node ━━┻━━ Link

Scripts

Sample Python scripts employing NEATnik can be found in the NEATnik Scripts repository.

About

An MPI-parallelized Python-wrapped C++ implementation of the NEAT (Neuro-Evolution of Augmenting Topologies) algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published