in pytorch conv1d dispatches to conv2d, adding a fake dimension, I guess in their framework something similar happens, or they have other reasons to unsqueeze input to 4d.

Oh I understand.

I didn’t say to use 3 with conv2d

Sry if I did understand you wrong. But what did you mean?
As I understand it the [1x3] or kernel size 3 for conv1d with dilation learns the causality of each channel. However, [3x1] learns the correlation between these channels.

But I’m unsure how to express that [3x1] filter with conv1d.