/Exploring-AutoEncoder

This is notebook where I just create random idenitity and Autoencoder networks to actually see what the convolution layers are learning. Mostly I visualise the internal layers activation and conclusions can be drawn about what the hidden layers are learning. For anyone who is trying to build CNN. This can also help them guide them into thinking and creating proper hidden representation.

Primary LanguageJupyter NotebookMIT LicenseMIT

Exploring-AutoEncoder

This is notebook where I just create random idenitity and Autoencoder networks to actually see what the convolution layers are learning. Mostly I visualise the internal layers activation and conclusions can be drawn about what the hidden layers are learning. For anyone who is trying to build CNN. This can also help them guide them into thinking and creating proper hidden representation.

PS: Since the focus was not on classification network discontinuos operations like MaxPool was ignored. Though definetely. AutoEncoders can benefit from using them. I have explored all the use can and how the learning happens in various settings. Also some of the reading and experiments maybe off because I was using a small dataset with even smaller number of epochs to learn on them and all my benchmarks were based on the final loss value on the last batch. As I was consistent with my rating method I believe it should not be an issue. But you can always run the notebook and have your own observation. The notebook allows you do that with just few changes. It has all the necessary function. The Notebook is huge and long though.

How to execute ?

I was working with the MS COCO validation set and formatted it into batches of 512 images into one single npy file. I loaded these in batches in the memory to be processed. Use the given script data_bulder.py to build the data properly