Which convolutions from your model do you want to modify?
The ones declared as nn.Conv2d(inp, oup, 1, 1, 0, groups=inp, bias=False) already works with groups along each input.
I guess it is the ones defined as nn.Conv2d(inp, oup, 1, 1, 0, groups=_groups, bias=False) that you want to compress as in your code _groups=1? If so, after compression, you could replace this conv by a new one with paramters nn.Conv2d(inp, oup, 1, 1, 0, groups=nb_groups, bias=False) and copy the weights into it. Then replace it in the Sequential. For example, for the first one by doing self.model[1][3] = your_new_conv