Maybe I don’t understand something regarding depthwise seperable convolutions but if you set the argument groups=input channels in nn.Conv2D, as a result you get only one kernel per filter, no matter many input channels there are. To my understanding normal convolutional operation has as many unique kernels per filter as there are input channels. Doesn’t that make depthwise convolutional filter lose some information comparing to normal Conv2D if it used different (unique) kernels for every input channel?