Hi Delpha!



 Delpha.T.Edwards:

The weight shape is torch.Size([12, 1, 3, 3]), does this weight includes 3 groups?  and each group will generate ([1,4,244,244]) in this example?


Yes, this is correct.
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].
Best.
K. Frank