linear_operator
linear_operator copied to clipboard
Symmetric matrices and convolution operators
Hi ! I'm interested in the library to reduce the memory and computationnal complexity of computing covariance matrices of a convolutional operation. The covariance is symmetric by construction, which would approximately divide the burden by half. The result may be consumed by other convolutionnal layers/other operations, or in some cases only the diagonal may be kept (which should in turn reduce the burden to square root of the full covariance).
Edit: it would actually be symmetric tensors with shape channel*width*height*channel*width*height
Is it possible with the library at the moment ? should there be concerns for performance with respect to the cuDNN implementations of convolutions ?
A possible approach I thought of involved unfolding the input, which I'm not sure is fully supported by the library/is somewhat inefficient in regular Pytorch.