Question of implementation detail.
Hi Koshian!
This is a really nice implementation, I saw the details in your blog too and everything is great, that's a really good explanation!
I just have a question, when I first read the paper, I thought that they performed SVD for the covariance matrix of all the images in a batch. Let me give you an example, Let's say their batch_size is 32 with images of 224x224x3 images, so, what I think they did was, first flattening the tensor to a matrix 'X' with shape [32224224, 3] and after that they calculated np.dot(X.T,X) so that they would end up with a 3x3 covariance matrix regardless of their batch size, which would make the execution os the SVD faster.
Do you think that was the case or are you sure they had one 3x3 covariance matrix for each image? I couldn't get this implementation detail from the paper.
Thanks for your attention and for creating this repo!
