According to "Xception: Deep Learning with Depthwise Separable Convolutions", the 1 x 1 pointwise convolution should be performed before the depthwise convolution. But it seems the order is reversed in def SepConv_BN().
Below is the quote:
The order of the operations: depthwise separable convolutions as usually implemented (e.g. in Tensorflow) perform first channel-wise spatial convolution and then perform 1x1 convolution, whereas Inception performs the 1x1 convolution first.
According to "Xception: Deep Learning with Depthwise Separable Convolutions", the 1 x 1 pointwise convolution should be performed before the depthwise convolution. But it seems the order is reversed in def SepConv_BN().
Below is the quote:
The order of the operations: depthwise separable convolutions as usually implemented (e.g. in Tensorflow) perform first channel-wise spatial convolution and then perform 1x1 convolution, whereas Inception performs the 1x1 convolution first.