GraphGANN

GraphGANN is a C++ software tool for training, evaluating, and predicting with artificial neural networks (ANNs). Training is performed using a real-coded, steady-state, multipopulation genetic algorithm that employs roulette-wheel parent selection, MMX crossover, stochastic mutation, and deterministic replacement of the worst-performing networks.

While fully connected networks are supported, the software is designed for custom architectures not constrained to layered structures—effectively enabling highly sparse networks with numerous skip connections. When meaningful graphs (e.g., known relationships) define the structure, the resulting models become interpretable “white-box” classifiers. This knowledge-guided sparsity also enables the training of deep networks with minimal connections, making the approach particularly suitable for small datasets.

Publication:

Type III secretion system effectors form robust and flexible intracellular virulence networks

More information (doctoral thesis):

https://tesis.biblioteca.upm.es/tesis/10986

Code and Windows executable:

https://github.com/liaupm/GraphGANN