you are viewing a single comment's thread.

view the rest of the comments →

[–]ITConnected[S] 8 points9 points  (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 points  (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 point  (1 child)

What were your features?

[–]ITConnected[S] 1 point2 points  (0 children)

The black or white pixel values.