Hi, I’m interested in experimenting with a variant of the standard 2D convolution, for which it would be very convenient to express the convolution operation as a tensor multiplication between the weights tensor and a tensor that contains all the receptive fields as vectors.
That is, I’m looking for an image-to-columns/vectors method that, given the parameters of a 2D convolution (i.e., kernel_size, stride, and padding), it “breaks” the input image (or, for that matter, any appropriate input feature map) into vectors each of which corresponds to a receptive field (according to the aforementioned parameters). By doing so, the convolution operation can be written as a tensor multiplication (or at least I think so).