neuroflow demos

Welcome to NeuroFlow

I created NeuroFlow, a JavaScript library, as an educational project to deepen my understanding of neural networks. It began as a simple JavaScript port of Andrej Karpathy's micrograd. While powerful libraries like PyTorch and TensorFlow.js, and frameworks such as fast.ai make neural networks accessible, they often abstract away the underlying mechanics.

NeuroFlow embraces the RTFM philosophy by reimplementing core neural network concepts from scratch. This approach offers a deeper appreciation for the mathematical intricacies behind these networks, even when working with simpler examples.

For a practical comparison, I've implemented many of these demos using both NeuroFlow and TensorFlow.js. You can explore the TensorFlow.js implementations here, as well as the demos from the project. This provides an interesting contrast between a from-scratch approach and a professional-grade library.

Demos

MNIST Classifier

Classify handwritten digits from the MNIST dataset using a neural network.



MNIST Autoencoder

Reconstruct MNIST digits using an autoencoder.



Graphing Calculator & Function Approximation

Plot a function f(x). Estimate the function using a neural network.



Binary Classification using Hinge Loss

Classify (x,y) points using a neural network.



Multiclass Classification using Softmax

Classify (x,y) points into 3 or more classes using a neural network.