Skip to content

Visualising your neat algorithm networks with the manim library. Works specifically for the neat-python library

License

Notifications You must be signed in to change notification settings

erupturatis/Neat-Manim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEAT Manim

A repository made for visualizing the neat algorithm networks evolving over the course of multiple generations. This is an attempt to reproduce videos like this one that unfortunately haven't published their repositories

DISCLAIMER !! This repository will only work with winners saved by this specific implementation of NEAT.

Run Locally

Clone the project

  git clone https://github.com/erupturatis/Neat-Manim

Go to the project directory

  cd Neat-Manim

Install dependencies

  pip install -r requirements.txt

Note that you have to have manim already installed on your local machine in order to install it with pip. This project uses manim community. You can see how to install it here. For a quick startup on the manim library you should check this playlist

Folder structure and usage

To start with working with this project you should run:

  cd NeatManim

And then:

  manim -pql manim_visualization.py VisualizeNetwork

This will run the main scene that will run all the other scrips. Your winner files should be placed in

./NeatManim/winners/winner_list/...(here are the winners)

The folder should also contain a contain a config.txt file corresponding to the winners in

./NeatManim/winners/...(here is the config)

And a winners_names.txt file in the same place as the config

./NeatManim/winners/...(winners_names)

You have some boilerplate winner already placed in there as an example . If for any reason you can't get this to work feel free to open an issue

Results

This is the kind of result you should expect App Screenshot

Contributing

All contributions are always welcome! I would like to expand the functionality of this repo for more machine and deep learning algorithms and eventually turn it into a library.

You could start by editing contributing.md

Releases

No releases published

Packages

No packages published

Languages