2 ms·
> Convolution is not a matrix multiplication in the current implementation I figure there's a code re-organisation task since propagating node activations thro
by redcalx 10y ago
> Convolution is not a matrix multiplication in the current implementation
I figure there's a code re-organisation task since propagating node activations through a layer of weights is essentially a matrix multiplication (fully connected => fully dense matrix).
The optimised routines make use of vectorised CPU instructions and the FMA instruction (fused multiply and add), all of which are perfect fits for [dense] matrix multiplcation. Not so great for sparse matrices, but they help, usually unless it's very sparse it's faster to use a dense matrix format with zeros for the missing weights.
> Pull requests more than welcome!
Duly noted :)