I am inclined towards a design where something like,
input = torch.randn(N, L, C)

conv_layer = torch.nn.Conv1d(in_channels=C, out_channels=C, kernel_size=3, memory_format='channels_last')

output = conv_layer(input)

works out of the box.
Is this possible in the current setup? And if not, what would be the minimal changes required here to make it work?