import tensorflow as tf

        net : :class:`Layer`
            Previous layer with output shape of (batch, width, r).
        """
        # with tf.name_scope(name):
        #     self.outputs = self._apply_activation(self._PS(self.inputs, r=scale))

        outputs = self.act(self._PS(inputs, r=self.scale))
        return outputs

    @private_method
    def _PS(self, I, r):
        X = tf.transpose(I, [2, 1, 0])  # (r, w, b)
        X = tf.batch_to_space_nd(X, [r], [[0, 0]])  # (1, r*w, b)
        X = tf.transpose(X, [2, 1, 0])
        return X
