It’s a bit hacky. You could parallelize Conv2d with groups parameter, given that all the convolution layers have same number of input, output channels, kernel_sizes etc.
A small example:

  
      gist.github.com
  
  
    https://gist.github.com/InnovArul/bd8b7ce5ac9e615ec251470293563eb2 12
conv2d_groups_trick.py
import torch, torch.nn as nn, torch.nn.functional as F

def perform_non_parallelconv(input, convs):
    outs = []
    for i in range(len(convs)):
        o = convs[i](input[:, i])
        outs.append(o)

    outs = torch.cat(outs, dim=1)
    return outs
This file has been truncated. show original