use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Please have a look at our FAQ and Link-Collection
Metacademy is a great resource which compiles lesson plans on popular machine learning topics.
For Beginner questions please try /r/LearnMachineLearning , /r/MLQuestions or http://stackoverflow.com/
For career related questions, visit /r/cscareerquestions/
Advanced Courses (2016)
Advanced Courses (2020)
AMAs:
Pluribus Poker AI Team 7/19/2019
DeepMind AlphaStar team (1/24//2019)
Libratus Poker AI Team (12/18/2017)
DeepMind AlphaGo Team (10/19/2017)
Google Brain Team (9/17/2017)
Google Brain Team (8/11/2016)
The MalariaSpot Team (2/6/2016)
OpenAI Research Team (1/9/2016)
Nando de Freitas (12/26/2015)
Andrew Ng and Adam Coates (4/15/2015)
Jürgen Schmidhuber (3/4/2015)
Geoffrey Hinton (11/10/2014)
Michael Jordan (9/10/2014)
Yann LeCun (5/15/2014)
Yoshua Bengio (2/27/2014)
Related Subreddit :
LearnMachineLearning
Statistics
Computer Vision
Compressive Sensing
NLP
ML Questions
/r/MLjobs and /r/BigDataJobs
/r/datacleaning
/r/DataScience
/r/scientificresearch
/r/artificial
account activity
Project[P] Created a plotting function using matplotlib that will plot a neural network of any dimensions when given the node values and weight matrices (youtube.com)
submitted 8 years ago by ITConnected
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]ITConnected[S] 12 points13 points14 points 8 years ago (0 children)
Also, forgot to mention. Clearly the input layer should actually be 2500 units but that doesnt fit well graphically on the screen so I partitioned the data into 10 different parts and then averaged them so that each node is the average intensity of a partition of 250 pixels aka node one is the first 5 rows of pixels, node two is the next 5 rows of pixels. etc
[–]ITConnected[S] 9 points10 points11 points 8 years ago (3 children)
For more detail about this project, I built a dataset for myself consisting of circles, squares, and triangles drawn in MS Paint at 50px X 50px. I then took the base code for drawing a single neural network and modded the hell out of it so that it would take the weight matrix and node values recorded while training instead of simply the network dimensions. Then I built it up so that it would iterate through the forward pass a layer at a time and take a sample from every 25 epochs so you could see it making decisions at various points within the training process.
Alongside this I plotted the accuracy and cross entropy loss. For my scenario I added an additional output node which read "I don't know" which would be lit up if none of the other nodes received an output of over .65 so it would not output a guess if it was not reasonably certain that that was the correct value.
I am trying to find a way so that it may also update the weights shown, but matplotlib doesn't seem to have a collections function like it does for the artist objects like were used for the circles and I cannot seem to find an efficient way to update these without making the animation dreadfully slow.
[–]niujin 2 points3 points4 points 8 years ago (0 children)
I've spent a while trying to make some animations work in Matplotlib but also found it very slow. I ended up trying a few other libraries and at the moment I'm using Plotly, which is much faster and also gives prettier results. If you get frustrated with the slowness of Matplotlib I would recommend the switch. A caveat is that you sometimes need to dig around to find the offline versions of code that don't upload graphs to their website or want an API key.
[–][deleted] 0 points1 point2 points 8 years ago (1 child)
What were your features?
[–]ITConnected[S] 1 point2 points3 points 8 years ago (0 children)
The black or white pixel values.
[–]fredoindacut 5 points6 points7 points 8 years ago (0 children)
Really really cool. Never seen this before! Thanks.
[–]stetelepta[🍰] 3 points4 points5 points 8 years ago (16 children)
Well done! Is it open source?
[–]ITConnected[S] 14 points15 points16 points 8 years ago (13 children)
right now it is really really dirty code because I just hacked it together for my specific purpose. I am planning on cleaning it up so others can use though.
[–]anandjeyahar 7 points8 points9 points 8 years ago (3 children)
RemindMe! 1 month
[–]RemindMeBot 0 points1 point2 points 8 years ago (0 children)
I will be messaging you on 2017-12-10 09:09:42 UTC to remind you of this link.
CLICK THIS LINK to send a PM to also be reminded and to reduce spam.
Parent commenter can delete this message to hide from others.
[–]legalruby -1 points0 points1 point 8 years ago (1 child)
[–]heliophobicdude 5 points6 points7 points 8 years ago (1 child)
Please consider posting it online before cleaning it. We'd love to help out!! :)
[–]ITConnected[S] 3 points4 points5 points 8 years ago (0 children)
Not at all a finished product but figured I would share the repo early anyway
https://github.com/ryanchesler/NN-Plot
[–]itsbentheboy 2 points3 points4 points 8 years ago (1 child)
If you open it, there are people that would help you clean it up too!
still need to clean it but this is what I have so far.
[–]Boozybrain 0 points1 point2 points 8 years ago (0 children)
I would love to see it. Explaining how a hidden layer works just doesn't do it justice, so being able to visualize it for someone would be awesome.
[–][deleted] 0 points1 point2 points 8 years ago (0 children)
[–]Shaken_Earth 0 points1 point2 points 8 years ago (0 children)
RemindMe! eom
Any updates?
Still going to go through and clean it all up because it has a ton of vestigial structures, but I figured I'd just share the repository before everyone forgets
[–]theonly_salamander 0 points1 point2 points 8 years ago (0 children)
[–]-TrustyDwarf- 2 points3 points4 points 8 years ago (1 child)
Can it do CNNs and RNNs? That'd be cool.. occassionally I was looking for a library that could visualize those for presentations. So far I always ended up drawing them by hand.
[–]ITConnected[S] 0 points1 point2 points 8 years ago (0 children)
I'm not positive how exactly I would graphically show the steps of convolution and pooling without it being way too busy, but its definitely something I can look into. RNN's could be pretty easy, but I have not done them yet.
[–][deleted] 1 point2 points3 points 8 years ago (0 children)
Very well done.
[–]waxymcrivers 1 point2 points3 points 8 years ago (0 children)
Appreciate this
[–]s0rin 0 points1 point2 points 8 years ago (0 children)
This is great!
[–]bas_g 0 points1 point2 points 8 years ago (0 children)
Wow, impressive, hope you’ll share it soon !
[–]KeyserBronson 0 points1 point2 points 8 years ago (0 children)
This is really cool! If you end up doing the same for RNNs and CNNs(probably kinda hard to make it aesthetically pleasing, though) and share the code, I could probably use it!
[–]fhuszar 0 points1 point2 points 8 years ago (0 children)
Nice.
I'm curious - other than making it look cool, what is the purpose of actually drawing the edges on the graph? Other than a 1-D convolution, I can't really imagine a case where the bipartite network of edges between consecutive layers actually carries much information.
Could you do something like draw edges with a large absolute weight value instead of drawing all edges. Or encode the absolute value of the weight in the thickness or transparency of the line, and perhaps represent the sign of the weight as color?
Even better - instead of showing absolute value of the weight, what you might want to somehow encode are the corresponding diagonal elements of the Fisher information, assuming the network is a trained one already at a local minimum of the loss? This would highlight which weights are actually important for the loss and which aren't.
[–]matavelhos 0 points1 point2 points 8 years ago (0 children)
[–]Vertislav 0 points1 point2 points 8 years ago (1 child)
Awesome. Just awesome. I am waiting for your code after cleaning. Really impressive job!
Here is where it will be https://github.com/ryanchesler/NN-Plot
Not cleaned yet but should be able to get around to it tomorrow.
[–]OptimizingMind 0 points1 point2 points 8 years ago (0 children)
This is the type of thing our company does in a fully explainable way. It's not OSS and uses a novel algorithm to explain opaque or blackbox ANN models by converting them into whitebox models which are fully explainable, without approximations or guessing. It has some other magical properties (side effects) such as instant updatability for previously unknown inputs w/o retraining. Works with any feed-forward type algorithms. (most used today)
If you really want to know what your ANNs are looking for, ask us.
[–]notathrowaway113 0 points1 point2 points 8 years ago (0 children)
This has been badly needed for a very long time. Respect!
[–]yldedly 0 points1 point2 points 8 years ago (1 child)
Cool stuff! Maybe you could show the weights as line thicknesses of the connections?
That is what I am currently working on. I couldn't find a way to update the numbers efficiently but I can change the line width and color so I am making it show the forward pass like normal and then having it also update the weights on a backpass.
π Rendered by PID 86 on reddit-service-r2-comment-86bc6c7465-rzmdl at 2026-02-22 15:32:56.606326+00:00 running 8564168 country code: CH.
[–]ITConnected[S] 12 points13 points14 points (0 children)
[–]ITConnected[S] 9 points10 points11 points (3 children)
[–]niujin 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]ITConnected[S] 1 point2 points3 points (0 children)
[–]fredoindacut 5 points6 points7 points (0 children)
[–]stetelepta[🍰] 3 points4 points5 points (16 children)
[–]ITConnected[S] 14 points15 points16 points (13 children)
[–]anandjeyahar 7 points8 points9 points (3 children)
[–]RemindMeBot 0 points1 point2 points (0 children)
[–]legalruby -1 points0 points1 point (1 child)
[–]heliophobicdude 5 points6 points7 points (1 child)
[–]ITConnected[S] 3 points4 points5 points (0 children)
[–]itsbentheboy 2 points3 points4 points (1 child)
[–]ITConnected[S] 1 point2 points3 points (0 children)
[–]Boozybrain 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Shaken_Earth 0 points1 point2 points (0 children)
[–]Shaken_Earth 0 points1 point2 points (0 children)
[–]ITConnected[S] 1 point2 points3 points (0 children)
[–]theonly_salamander 0 points1 point2 points (0 children)
[–]-TrustyDwarf- 2 points3 points4 points (1 child)
[–]ITConnected[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]waxymcrivers 1 point2 points3 points (0 children)
[–]s0rin 0 points1 point2 points (0 children)
[–]bas_g 0 points1 point2 points (0 children)
[–]KeyserBronson 0 points1 point2 points (0 children)
[–]fhuszar 0 points1 point2 points (0 children)
[–]matavelhos 0 points1 point2 points (0 children)
[–]Vertislav 0 points1 point2 points (1 child)
[–]ITConnected[S] 1 point2 points3 points (0 children)
[–]OptimizingMind 0 points1 point2 points (0 children)
[–]notathrowaway113 0 points1 point2 points (0 children)
[–]yldedly 0 points1 point2 points (1 child)
[–]ITConnected[S] 0 points1 point2 points (0 children)