← all repositories
Sergio0694/NeuralNetwork.NET

A hand-rolled neural net in C#, now in maintenance-only mode

A university project that grew into a full TensorFlow-style API with cuDNN GPU layers, then got politely shelved by its author.

572 stars C# ML Frameworks
NeuralNetwork.NET
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

NeuralNetwork.NET is a from-scratch C# implementation of sequential and computation-graph neural networks for .NET Standard 2.0. You stack layers via NetworkManager.NewSequential, feed it datasets through DatasetLoader, and train with SGD variants like Adadelta. It also serializes models, loads MNIST automatically, and swaps in cuDNN-accelerated layers when you need GPU speed.

The interesting bit

The author built this for a university course, yet it covers non-trivial territory: residual-style computation graphs with NetworkManager.NewGraph, Inception modules, and even auxiliary classifiers for gradient flow. The cuDNN path requires the now-defunct Alea GPU compiler, which dates the project almost as precisely as carbon-14.

Key highlights

  • Sequential and graph APIs with operator-overloaded node wiring (conv2 + pool1)
  • cuDNN layers with custom convolution modes, padding, and stride controls
  • Built-in MNIST loader and async training callbacks
  • Model serialization with CPU/CUDA execution mode preferences on reload
  • .NET Standard 2.0: runs on Framework 4.6.1+, Core 2.0+, UWP, Mono, Xamarin

Caveats

  • No longer maintained; author explicitly recommends ML.NET or TensorFlow.NET for production
  • GPU acceleration depends on the Alea NuGet package, which is discontinued and tricky to source
  • 572 stars suggests niche usage; this is educational infrastructure, not battle-tested framework

Verdict

Worth a read if you’re implementing backprop in C# and want a clean reference architecture. Skip it if you need a living ecosystem, modern CUDA support, or anything resembling a community.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.