Skip to content
/ gnet Public

Neural networks generated with genetic algorithms

Notifications You must be signed in to change notification settings

iamsrp/gnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gnet

GNet is a NN creation system which uses genetic algorithms for creating a series of neural nets. Those nets are then trained and evaluated and child nets, with mutations, created from them. The whole process then repeats, over and over again. The networks are not layered in the tradition way that a regular NN is, any node may connect to any other node, with the limitations that no cycles are allowed, and that input and output nodes have special connection semantics.

The gnet.py script is the entry point and will train on the MNist data. This will write out the best network to tempdir on each iteration. Currently this works with tensorflow 1.12.0, it probably won't work with other versions. (I seem to see a "local variable 'a' referenced before assignment" error coming from tensorflow when I run it outside of my development environment. You may have to tinker to make it work.)

The veiewer.py script allows you to view the resultant networks.

This is mostly toy code, but it seems to work pretty well. A very minimal generated network (with only about 220 nodes in the hidden layers and 95K total connections) yields an accuracy of 98.2%. Well, it feels pretty good anyhow; your judgement may be better than mine.

About

Neural networks generated with genetic algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages