@smth
Hm, I was just thinking that it would maybe help to have a parameter called num_kernel_channels_per_input_channels (or probably a shorter name ;)) instead of groups in future? The default could be
num_kernel_channels_per_input_channels = None

which would set num_kernel_channels_per_input_channels equal to the number of channels in the input image. This could make the scenarios above a bit more intuitive and probably more user-friendly.