316 karma · joined October 5, 2018
And normally I set all images to loading='lazy', I just realized from your comment that for this post I hadn't. Great catch, and fixed it already.
Thanks for all the feedback!
Thank you!
I hope you find it useful! Let me know if there's any other help I can give you.
Thanks!
2_ Oh ok, I get it now. But that's not what the program is doing. I don't generate a vector for the single layer I am maximizing, I generate an image and run the whole CNN from input to that layer, all through. Then I optimize for that layer's output.
Edit to add: As stated in the post, when I "maximize for a filter", the exact function I am maximizing is the average output for that filter over the whole image.
1_ I started with a small one and then kept rescaling because the literature said convergence was faster and the results were "better" that way, but to be honest I didn't even try starting from a big image. I just kinda took their word for it.
For a (not too academic, but very well put) example, see this: https://towardsdatascience.com/how-to-visualize-convolutiona... If you start with a big image, you get whatever "shape" the filter is generating, many times, but kind of small. If you start with a small image and keep rescaling, you get less of the shapes, each of them bigger.
That makes for subjectively cooler visuals, and that's pretty much it.
2_ I'm not entirely sure I get this one. Don't the filters apply to the three (RGB) channels simultaneously? Or do you mean a filter actually refers to the transformation for a single channel rather than the one to a whole pixel? Other than that, with regards to the ease of visualization, it's actually kind of hard to display all of the filters in a visually interesting way that isn't just "Here's the 240 filter images I made with this layer", so I had to make a trade-off between 'here are some of the cooler images' and 'I want each layer I tried to be represented in this'. I'm still sort of new to presenting visual information of this kind, so if you have any advice on how to display more of the images, I'm all ears.
Have a nice weekend!
I figured git deserved an article on its own, rather than mentioning it in passing in a bash article.
About cp and rm, I actually wrote about more basic commands in the previous article, also linked there: http://www.datastuff.tech/programming/terminal-tutorial-more...
Though seeing your comment makes me think I could just combine both articles into a longer one.
Thanks for the feedback!
What I want the most from this site is for more experienced people to help me out with some of my questions.
Here they come:
- Can you use Batch Normalization (the one from tf.keras) on an LSTM layer? Or will it break the model?
- How do you deal with extremely infrequent words if you do a word-based LSTM (with a one-hot encode of each word in the corpus?)? Do you remove them? Replace them? Cluster them?
- Do you think there's any other architecture that would've had better results -while still not taking too long to train-?
Thanks for your reply!