Deep learning primitives in six languages, zero frameworks
Companion code for a deep learning book that re-implements RBMs, DBNs, and autoencoders across six languages without frameworks.

What it does This repository is a collection of from-scratch implementations of foundational neural network architectures—Restricted Boltzmann Machines, Deep Belief Nets, Denoising Autoencoders, MLPs, Dropout, and CNNs—rendered in Python, C, C++, Java, Scala, and Go. It functions as a Rosetta Stone for mid-2000s deep learning literature, with each language expressing the same core algorithms in its own syntax. The code serves as the companion repo for Yusuke Sugomori’s Java Deep Learning Essentials.
The interesting bit The project hails from the pre-autodiff era, meaning every forward pass, backpropagation step, and weight update is handwritten rather than delegated to a framework. The README explicitly cites Bengio and Larochelle’s 2007 layer-wise training paper and Vincent et al.’s 2008 denoising autoencoder work, anchoring the code to the exact breakthroughs that kicked off the modern deep learning resurgence.
Key highlights
- Implements classic models: DBN, CDBN, RBM, CRBM, Denoising Autoencoders, Stacked dA, MLP, Dropout, and Logistic Regression.
- Multi-language parity across Python, C, C++, Java, Scala, and Go.
- CNN implementation lives only on a separate
devbranch. - Directly references seminal NIPS 2007 and ICML 2008 papers.
- Published alongside the Packt book Java Deep Learning Essentials.
Caveats
- The README is essentially a class list and bibliography; it offers no usage examples, tests, or installation guidance.
- CNN support is not merged into the main branch.
Verdict Useful if you want to see how foundational deep learning algorithms look when handwritten in six different languages. Not the place to find a maintained, modern training framework.
Frequently asked
- What is yusugomori/DeepLearning?
- Companion code for a deep learning book that re-implements RBMs, DBNs, and autoencoders across six languages without frameworks.
- Is DeepLearning open source?
- Yes — yusugomori/DeepLearning is open source, released under the MIT license.
- What language is DeepLearning written in?
- yusugomori/DeepLearning is primarily written in Java.
- How popular is DeepLearning?
- yusugomori/DeepLearning has 3.2k stars on GitHub.
- Where can I find DeepLearning?
- yusugomori/DeepLearning is on GitHub at https://github.com/yusugomori/DeepLearning.