finds.dev← search

// the find

jeffheaton/encog-java-core

★ 754 · Java · NOASSERTION · updated Mar 2023

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →