import tensorflow as tf

        if W_p is None:
            W_p = self._make_var('W_p', (1, 1, ch_mul * ch, ch))
        X = tf.nn.relu(X)
        X = tf.nn.separable_conv2d(X, W_d, W_p, strides=(1, stride, stride, 1), padding='SAME')
        if not no_batch_norm:
            X = self._add_batch_norm(X, ch, is_train=is_train)
