Hi, I guess you can do sth like this
# instead of random values, put your own 
weight = nn.Parameter(torch.randn(size=(x)) 
def my_op(input, weight) : 
   output = F.conv1d(input, weight, bias=None, stride=1, padding=0, dilation=1, groups=1)  
   return output

or simply use the Conv1d and assign the new weight to it and then freeze the weight so it doesnt get tuned.
self.myop = nn.Conv1d(*args)
self.myop.weight = nn.Parameter(torch.randn(size=(x)) 
self.myop.requires_grad = False

Then use it along side other layers, etc.
You can also create your own module. so its up to you.