Show HN: Comgra: A library for debugging and understanding neural networks
https://github.com/FlorianDietz/comgra
I'm a machine learning engineer and researcher. I got fed up with how difficult it is to understand why neural networks behave the way they do, so i wrote a library to help with it.Comgra (computation graph analysis) is a library you can use with pytorch to extract all the tensor data you care about and visualize it graphically in a browser.
This allows for a much more detailed analysis of what is happening than the usual approach of using tensorboard. You can go investigate tensors as training proceeds, drill down into individual neurons, inspect single data sets that are of special interest to you, track gradients, compare statistics between different training runs, and more.
This tool has saved me a ton of time in my research by letting me check my hypotheses much more quickly than normal and by helping me understand how the different parts of my network really interact.
I hope this tool can save other people just as much time as it did me. I'm also open for suggestions on how to improve it further: Since I'm already gathering and visualizing a lot of network information, adding more automated analysis would not be much extra work.
But a pet peeve of mine is when READMEs don't have full working examples. Totally okay when in alpha, but nice to have when posting somewhere. The other part of this is that when notebooks are included, that they have their full outputs and no errors (looking at you `single_test_0.ipynb`)
At least to me, it isn't clear what the project does, how I use it, and what my outputs look like. Images always sell the show. Gifs are great when demonstrating tools, or videos are better (because I can pause it!). The main image here really doesn't tell me much, just that there are some different color rectangles.
KUDOS!
Thanks for the work..