Regular conv1d
is basically $a_i^c = \sum_{k, c’} weight[c, c’, k] x_{i+k}^c’$, where x
is the input with c'
the input channel dim, and weight
has dimensions [out_channel_dim, in_channel_dim, kernel_size]
.
The questions
- Is there a way to do the convolution operation alone, i.e. without the summation over the channel dim
c'
? - I guess I could use the
einsum
for this, but is it going to be fast enough (like cuDNN fast)?
functional.conv1d
does the actual convolution, summation over the channel dim and adds the bias… I’d need some more primitive ops for my crazy experiments!