    def _pixel_shuffle(self, input_layer):
        """ PixelShuffle implementation of the upscaling part. """
        x = Conv2D(
            self.c_dim * self.scale ** 2,
            kernel_size=3,
            padding='same',
            kernel_initializer=self.initializer,
            name='PreShuffle',
        )(input_layer)

        return PixelShuffle(self.scale)(x)
PixelShuffle implementation of the upscaling part.
ISR/models/rrdn.py