// the find
jeffheaton/encog-java-core
Encog is a pure-Java/C# machine learning framework originally built in 2008 for the author's own research into neural networks, NEAT/HyperNEAT, and genetic programming. It's aimed at people who want classic ML algorithms (SVMs, Bayesian networks, HMMs, GAs) in a GPU-free, dependency-light Java/C# codebase, or who want to read/adapt the actual algorithm implementation rather than call into a black-box framework.
Being pure Java with no native/GPU dependency makes it trivial to drop into any JVM project and actually read the algorithm code, which is rare once you're in TensorFlow/PyTorch territory. It covers algorithms the big frameworks don't bother with - NEAT, HyperNEAT, genetic programming - which is a real gap it fills rather than a 'me too' neural net lib. Training algorithms are multi-threaded and scale across cores out of the box. It also has real academic traction (950+ citations), so the implementations have been exercised and scrutinized over a long period.
No GPU support means it's a non-starter for anything beyond toy-scale networks - the author himself says he switches to Keras/TensorFlow for real work, which is a pretty direct signal about this project's actual role. Last commit is March 2023 and CI is wired to Travis, which has been effectively dead for open source for years, so the badge is decorative at best. The repo ships compiled class files committed directly into the tree (classes/production, classes/test), which is sloppy repo hygiene and bloats clone size for no reason. Documentation is essentially one README and a Javadoc-style comment convention - there's no migration guide or modern getting-started doc beyond the single XOR example.