If you can come up with the padding logic inside a loop (or use some kind of lookup table), this should work:
class Model(nn.Module):
    def __init__(self):
        super(Model, self).__init__()

        self.filter_weights = [torch.tensor([[[0.1, 0.2, 0.3]]]),
                               torch.tensor([[[0.1, 0.2, 0.3, 0.4, 0.5]]]),
                               torch.tensor([[[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7]]])]

    def forward(self, x):
        out = []
        for idx, filt in enumerate(self.filter_weights):
            padding = idx+1 # try to come up with logic here
            out.append(F.conv1d(x, filt, padding=padding))
        out = torch.cat(out, dim=1)
        return out