Implementation in Keras of MobileNet (v1).
MobileNet is a CNN network supposed to be efficient enough to work on mobile, thus the name. Its efficiency comes from replacing convolution blocks by depthwise separable convolution block: A depthwise conv followed by a pointwise conv.
The depthwise conv has a filter per input channel. There are no interactions between channels.
The number of input channels is thus the same as the number of output channels.
The pointwise conv has, like usual conv, a filter per output channel and therefore creates interaction between the channels. However its kernel size is 1x1.