Your question doesn’t match the line of code you quoted.
A 1D conv needs input of shape (batches, channels, seq_len).
To answer your question: conv1d expects you to want to be able to calculate gradients, and PyTorch only builds computation graphs for operations involving Variables. Without the computation graph PyTorch can’t calculate gradients, hence the need for Variables.