    def _pixel_shuffle(self, input_layer):
        """ PixelShuffle implementation of the upscaling layer. """
        
        x = Conv2D(
            self.c_dim * self.scale ** 2,
            kernel_size=3,
            padding='same',
            name='UPN3',
            kernel_initializer=self.initializer,
        )(input_layer)
        return Lambda(
            lambda x: tf.nn.depth_to_space(x, block_size=self.scale, data_format='NHWC'),
            name='PixelShuffle',
        )(x)
PixelShuffle implementation of the upscaling layer.
ISR/models/rdn.py