Original Post
This might be quite stupid question, but I don't really get why everybody says that "separable convolution works faster then simple 2D convolution, since with 2D one you have to make N*N multiplications and with separable one you have to make only N+N multiplications". Let's see now: Go here and look at the example at the bottom of the page. First - he does simple 2D convolution - and yes, of course I agree - he made N*N multiplications - so no problem here. But in the second he is presenting separable convolution and does (N*N)+N multiplications, moreover he needs this temporary buffer of N-size to hold the product of the first separable convolution!
I was laughing under my table, when I realized that separable convolution is obviously slower than simple 2D convolution. Try to convince me that I'm a naive idiot
I was laughing under my table, when I realized that separable convolution is obviously slower than simple 2D convolution. Try to convince me that I'm a naive idiot