// the find
jeffheaton/encog-dotnet-core
Encog is a pure C#/Java machine learning framework from 2008 covering neural networks, genetic programming, SVMs, Bayesian networks, and HMMs, with a notable focus on NEAT/HyperNEAT neuroevolution. It's for someone who specifically wants a from-scratch, non-GPU reference implementation of those older/niche algorithms rather than a production deep learning stack.
The NEAT/HyperNEAT and genetic programming implementations are something you won't find in Keras or PyTorch, and having them in readable, dependency-free C# makes it a decent way to actually understand how neuroevolution works rather than just calling a black-box API. It's cited in 952 academic papers, so the algorithms have been validated outside the repo itself. Training routines are multi-threaded and the author has clearly scaled them across cores rather than bolting threading on as an afterthought.
Last commit was January 2019 — this is dead, not maintained, and the author says outright in the README that he uses Keras/TensorFlow for anything serious now. There's no GPU support at all, so anything beyond small networks will be painfully slow compared to literally any modern alternative. The project name collides with .NET Core in search results, and the maintainer admits this but won't fix it because renaming the NuGet package would break existing consumers — so you're stuck with bad discoverability permanently. The directory tree is a grab-bag of unrelated stuff bolted onto an ML library (stock market predictors, an RSS reader, a web scraping bot, NinjaTrader script generation), which signals scope creep rather than a focused, well-bounded library.