Premium Only Content

Neural Network 3D Visualization
Written in C++ using OpenGL for 3D rendering.
This is a demo of an app I wrote to learn more about how neural networks do feed-forward and back-propagation operations. Feed-forward, I had a pretty good handle on but knew nothing about how to do back-propagation and wanted to learn the math behind the process.
All of the AI code and the 3D renderer are written from scratch.
The AI code runs in a separate thread on the CPU and is not GPU accelerated at all. Speed is currently throttled at 1 image per second. Full speed is 20ish images per second.
You can fly around in space in real time using the mouse and WSAD keys for movement. The rotating view for most of the video was just a hard coded animation just for visual aesthetics.
Dataset is the MNIST numbers dataset that can be found online. The dataset contains 70,000 images handwritten digits with each image being 28 pixels high and 28 pixels wide along with a file containing the labels that correspond to each number.
Training is done in real-time as you're flying around but in this video the neural network image I loaded had trained for 20 epochs.
Project was heavily inspired by:
Denis Dmitriev: https://www.youtube.com/watch?v=3JQ3hYko51Y
and
Marijn van Vliet: https://www.youtube.com/watch?v=Tsvxx-GGlTg
I will eventually upload the code to GitHub, but I'd like to take some time to fix a few issues first and clean things up a bit. Just some nit picky things. =)
Update: Ok, so I'm probably not going to get around to fixing up the code so I've just released it as is. Keep in mind, I was learning as I was writing this, so there may be things that just don't make sense or a couple parts of the code that just aren't used, stuff like that. Oh and the specular reflections in the shaders are just wrong. I'm not a big user of const correctness, something I'm working on. =) Other than that, enjoy!
FYI: you will need to source the data files for the mnist dataset yourself. I wasn't sure what the license was on that, so I did not include them in the repo. You can google around and find it I'm sure.
Filenames are:
train-images.idx3-ubyte
train-labels.idx1-ubyte
Just get those files and put them in the mnistdata directory.
Code can be found at:
-
23:28
DeVory Darkins
8 hours ago $8.21 earnedTrump official ANNIHILATES Democrats in heated debate as CNN gets caught sympathizing with criminals
16.3K54 -
1:02:26
The Nick DiPaolo Show Channel
10 hours agoPOC Murders Another White Woman | The Nick Di Paolo Show #1790
54.2K58 -
2:04:29
Inverted World Live
6 hours agoNew UFO Hearing Testimony: Lockheed Martin Has Alien Technology | Ep. 105
65.3K8 -
LIVE
Akademiks
4 hours agoYNW Melly MIGHT BE COOKED! Co-D TELLLING? 6ix9ine vs Young Thug . Drake vs Kaicenat? HOLLY
1,220 watching -
4:46:45
Drew Hernandez
11 hours agoHORRIFYING: FULL FOOTAGE OF IRYNA ZARUTSKA MURDER HAS BEEN RELEASED
30.9K23 -
2:42:09
TimcastIRL
6 hours agoNATO Scramble Air Force Over Russian Incursion Into Poland, HIGH ALERT Reported | Timcast IRL
178K97 -
25:46
Man in America
10 hours agoALERT: Gold Prices FLASH OMINOUS WARNING for the Dollar—Are You READY??
34.8K17 -
58:27
Sarah Westall
6 hours agoWar Exploding Around the World: Nepal, Israel, Qatar, Venezuela, Thailand, more... w/ Michael Yon
35.9K12 -
LIVE
SpartakusLIVE
8 hours agoThe Most INSANE Snipes EVER || Solo to Duos w/ StevieT - PUBG or Mordor Later?!
416 watching -
1:11:40
Flyover Conservatives
16 hours agoThe Truth About Israel & End Times Nobody Wants to Say - Phil Hotsenpiller | FOC Show
37.9K11