Hi,
I tried to utilize the following topic:
  
    
    
    Best way to convolve on different channels with a single kernel? autograd
  
  
    You could repeat the single kernel and use the functional API: 
x = Variable(torch.randn(1, in_channels, 100))

# Gaussian kernel
kernel = Variable(torch.FloatTensor([[[0.06136, 0.24477, 0.38774, 0.24477, 0.06136]]]))
weights = kernel.repeat(1, in_channels, 1)
output = F.conv1d(x, weights)

Would this work for your use case?
  


what I tried is:
kernel = np.ones((1, 3, 1))
padding_value = math.floor(kernel.shape[1]/2.)
torch_kernel = torch.Tensor(kernel).permute(0, 2, 1)
data = [[[1., 1.], [2., 2.], [3., 3.], [4., 4.], [5., 5.], [6., 6.], [7., 7.]], [[1., 1.], [2., 2.], [3., 3.], [4., 4.], [5., 5.], [6., 6.], [7., 7.]]]
torch_data = torch.Tensor(data).permute(0, 2, 1)
data_reshaped = torch_data.reshape(-1, 1, torch_data.shape[2])
conv_out = (F.conv1d(data_reshaped, torch_kernel, padding=padding_value, bias=None) / torch_kernel.shape[2]).view(torch_data.shape[0], torch_data.shape[2], torch_data.shape[1])

conv_out is the following:
tensor([[[1.0000, 2.0000],
         [3.0000, 4.0000],
         [5.0000, 6.0000],
         [4.3333, 1.0000],
         [2.0000, 3.0000],
         [4.0000, 5.0000],
         [6.0000, 4.3333]],

        [[1.0000, 2.0000],
         [3.0000, 4.0000],
         [5.0000, 6.0000],
         [4.3333, 1.0000],
         [2.0000, 3.0000],
         [4.0000, 5.0000],
         [6.0000, 4.3333]]])

What I would like to see instead is:
tensor([[[1.0000, 1.0000],
         [2.0000, 2.0000],
         [3.0000, 3.0000],
         [4.0000, 4.0000],
         [5.0000, 5.0000],
         [6.0000, 6.0000],
         [4.3333, 4.3333]],

        [[1.0000, 1.0000],
         [2.0000, 2.0000],
         [3.0000, 3.0000],
         [4.0000, 4.0000],
         [5.0000, 5.0000],
         [6.0000, 6.0000],
         [4.3333, 4.3333]]])

I am basically trying to do a convolution for a multiple series with fixed kernel for each series. If I unpack one dimension into batches, then I need multi-channel kernel, which doesn’t do the same thing. Could you please help me achieve the desired form of this operation? Maybe this approach my choice of approach is entirely wrong?