[P] A small MLP from scratch in NumPy with a GUI to look inside it while it trains (weight distributions, t-SNE per layer, neuron ablation...) [P]

Reddit r/MachineLearning Tools

Summary

An educational tool built in NumPy with a GUI to visualize the training of a small MLP, including weight distributions, t-SNE per layer, and neuron ablation, aimed at helping students and teachers understand neural networks.

Hi everyone, I built an educational tool that shows what happens inside a small MLP while it trains, and I'd like some feedback from people who teach ML. Everything is plain NumPy, no autograd: manual backprop, SGD with momentum, L2, dropout, cosine decay and 4 activations. On MNIST it gets to about 98.5% with the full training set. During training you see the loss per mini-batch and per epoch, the gradient norm of each layer with the % of inactive neurons, the weight distributions now vs at init and the receptive fields of the first layer. Then there's: • a PCA / t-SNE of the test set (in NumPy too), layer by layer, with a line from each wrong prediction to the cluster of the digit it was confused with • robustness curves for noise and rotation, plus a confidence threshold that shows coverage vs accuracy • a lab where you ablate or rescale single neurons, prune, add noise to the weights or change the softmax temperature, and the test accuracy updates right away I'd like it to be useful to students, from high school to intro ML courses, to people who learn on their own and to teachers who want to show a network in class. https://github.com/dev-luigi/neural-network-digits
Original Article

Similar Articles

Data-centric debugging for teams training neural nets [P]

Reddit r/MachineLearning

WeightsLab is an open-source, PyTorch-native tool that allows teams to pause training, inspect live loss signals, and catch data issues like mislabels and class imbalance before they affect model performance. It is designed for computer vision engineers working with images, videos, and LiDAR point clouds.