In effect, you have three groups with in_channels = 1 and out_channels = 4. The weight tensor for the first group is m.weight[0:4] of shape [4, 1, 3, 3], the weight tensors for the
second and third groups are m.weight[4:8] and m.weight[8:12],
respectively, also of shape [4, 1, 3, 3]. (Pytorch chooses to store
the three per-group weight tensors as a single tensor of shape [12, 1, 3, 3] rather than as three separate weight tensors of
shape [4, 1, 3, 3].)
The three per-group convolutions produce three results, each of
shape [1, 4, 244, 244], that are then concatenated together along dim = 1 to produce the actual result of shape [1, 12, 244, 244].