A modular, extensible neural network library for C#/.NET projects. Designed for dynamic and evolutionary expansion, allowing the creation and growth of neural networks at runtime—including adding new layers and nodes, structural mutation, and advanced visualization.
Synapse.NET empowers C# and .NET developers to:
- Build neural networks dynamically and programmatically
- Evolve networks using genetic algorithms (mutation, crossover)
- Compare and visualize network structures
- Save/load networks to/from files
- Extend with custom layers, activation functions, and more
Use it as a reusable package in your own projects, freeing you from reimplementing neural network code every time.
- Dynamic addition and removal of layers, nodes, and connections at runtime
- Evolutionary expansion: mutate structure by adding/removing elements
- Ability to cross (combine) neural networks to produce child networks
- Structural similarity comparison algorithms
- Visualizer for inspecting architectures, connection weights, and properties
- Saving and loading networks (serialization/deserialization)
- Modular, extensible API for custom extensions
- Ready for integration with any C#/.NET project
- C#, .NET 6+
- (Optional) Math.NET Numerics for advanced math
- (Optional) WPF for visualization
- Distributed as a NuGet package
See ROADMAP.md for planned features and milestones.
- API, usage, and conceptual docs: docs/
to be added
Contributions are welcome! See CONTRIBUTING.md (to be added) for guidelines.
MIT License – see LICENSE for details.
- NEAT
- ML.NET
- Accord.NET
- SharpNEAT
- NEAT, NEAT-Python, Neataptic, and more (see ideas/nn-library-package.md)